Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Собственный адаптер на основе ArrayAdapter - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Ошибка с parse.com - "пробелом, апостроф" http://www.cyberforum.ru/android-dev/thread1648026.html
Во-первых, объясню ситуацию... Существует запись данных на parse.com и все работает хорошо. Вот как выглядит запись и загрузки данных из него: public ArrayList<MyObj> loadMyObjs() { ...
Программирование Android Как при смене темы менять стили кнопок? В приложении используются 2 вида кнопок. Это разные кнопки как по цвету, так и по другим свойствам. Свойства этих 2-х видов кнопок описаны в 2-х разных стилях. <!-- Стиль больших кнопок для... http://www.cyberforum.ru/android-dev/thread1647704.html
Подскажите у кого происходит вылет при переходе на Activity Программирование Android
java.lang.NullPointerException java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bastion.teplocomgsm10/com.bastion.teplocomgsm10.NNSSS}: java.lang.NullPointerException at...
Программирование Android Добавление Actionbar в FragmentActivity
Всем привет! Подскажите пожалуйста как добавить Actionbar в FragmentActivity.
Программирование Android Раздельная навигация по GPS или по Glonass http://www.cyberforum.ru/android-dev/thread1647667.html
Возможен - ли раздельный выбор навигации или от спутников GPS или от спутников Глонасс? Сейчас почему - то только одна кнопка "Местоположение" в верхних шторках телефонов. Какая логика...
Программирование Android Взаимодействие Fragment-ов через Activity (interface) Ребята гляньте пожалуйста не замыленным глазом на код. Пытаюсь понять как организовать взаимодействие фрагментов с помощью активити через интерфейс, но "...что-то пошло не так...", второй день... подробнее

Показать сообщение отдельно
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
27.01.2016, 18:26  [ТС]
Код
Java
1
2
3
4
S.pomfv(parent, contextall);
....
S.pom(tv, contextall);
S.pomtv(tv, contextall);

S.pomfv меняет цвет заднего фона у общего окна, то есть за кнопками.
S.pom меняет цвет фона у заданного элемента, то есть у TextView
S.pomtv меняет цвет текста у TextView.
S - это просто отдельный класс в котором я пишу разные функции.

Нет) Я просто хочу чтобы они работали как кнопки) Без анимаций.

Добавлено через 1 минуту
И функция getView возвращает по умолчанию TextView

Добавлено через 10 минут
Что-то не получается)
Лично я сделал отдельный класс у которого родительский класс ListActivity. Переопределил метод onListItemClick и везде где использовал ListActivity, поменял родительский класс на свой и при переопределении метода вызывал родительский метод. А в адаптере сделал только обработку на action down.
Адаптер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class MyAdater<T> extends ArrayAdapter<T> {
    SharedPreferences s;
    Context contextall;
 
    public MyAdater(Context context, int resource, T[] objects) {
        super(context, resource, objects);
        contextall = context;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        S.pomfv(parent, contextall);
        View v = super.getView(position,convertView,parent);
 
        v.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("ment2", "#7FFF00");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#7FFF00";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                    return false;
                }
 
                return false;
            }
        });
        TextView tv = (TextView) super.getView(position,v,parent);
        S.pom(tv, contextall);
        S.pomtv(tv, contextall);
        return tv;
    }

Свой класс
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class MyListActivity extends ListActivity{
    View[] globview = new View[100];
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        if (globview[position] == null) {
            globview[position] = v;
        }
        SharedPreferences s;
        s = PreferenceManager.getDefaultSharedPreferences(this);
        String color1 = s.getString("menf","#00BFFF");
        if (S.isHEX(color1)){
            v.setBackgroundColor(Color.parseColor(color1));
        }
        else{
            color1 ="#00BFFF";
            v.setBackgroundColor(Color.parseColor(color1));
        }
    }
 
    @Override
    protected void onPause() {
        SharedPreferences s;
        s = PreferenceManager.getDefaultSharedPreferences(this);
        String color1 = s.getString("menf","#00BFFF");
        for (int a = 0; a < 100;a++){
            if (globview[a] != null){
                if (S.isHEX(color1)){
                    globview[a].setBackgroundColor(Color.parseColor(color1));
                }
                else{
                    color1 ="#00BFFF";
                    globview[a].setBackgroundColor(Color.parseColor(color1));
                }
            }
        }
        super.onPause();
    }
}

Переопределил onPause потому что цвет немного зависал.
По моему так легче чем возится с плохим адаптером.
Теперь только когда нажимаю на элемент и выхожу за его пределы он не меняет цвет. Не подскажете, есть ли такой метод, чтобы при нажимании на экран, в не зависимости от View, обрабатывал событие? Тогда было бы то, что именно я хотел.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru