Форум программистов, компьютерный форум 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) Ребята гляньте пожалуйста не замыленным глазом на код. Пытаюсь понять как организовать взаимодействие фрагментов с помощью активити через интерфейс, но "...что-то пошло не так...", второй день... подробнее

Показать сообщение отдельно
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 23:03
Цитата Сообщение от Dantes2104 Посмотреть сообщение
Во по этому я вешаю на tv
FATAL EXCEPTION: main
java.lang.NullPointerException
Чё-то я в перерывах между готовкой ужина отвлекался на твои сообщения и вообще всё проглядел.
Напрочь.
Не доглядел, то что ты понаписывал.
Сорри, не со зла

Итак, имеем
super.getView(position,convertView,parent);
Эта штука возвращает ПОЛНОСТЬЮ вью соответствующее элементу-строке списка.
И да convertView поначалу может быть null, и это не странно.
Полностью, а не только TextView, который является одним из его составляющих элементов.
Приводить его к TextView - не комильфо.
Соответствующий TextView ищется через findViewById

Так что и последнее твоё
Java
1
TextView tv = (TextView) super.getView(position,v,lv);
не есть корректно.

Что такое
Java
1
2
3
4
S.pomfv(parent, contextall);
....
S.pom(tv, contextall);
S.pomtv(tv, contextall);
я не понимаю и оставляю на твоей совести.

Идем дальше.
Посмотри , ты в адаптере каждому элементу списка назначаешь НОВЫЙ слушатель касаний, который делает для всех элементов одно и то же и не зависит от конкретно выбранного элемента.
Лучше в классе адаптера ввести отдельного слушателя касаний и вешать его ОДНОГО на все элементы.

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
39
40
41
42
43
44
45
public class MyAdapter<T> extends ArrayAdapter<T> {
    SharedPreferences s;
    Context contextall;
    OnTouchListener myOnTouchListener;
 
    public MyAdapter(Context context, int resource, T[] objects) {
        super(context, resource, objects);
        contextall = context;
        s = PreferenceManager.getDefaultSharedPreferences(contextall);
        myOnTouchListener = new OnTouchListener(){
          @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                    return true;
                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    String color1 = s.getString("menfon2","#000000");
                            if (S.isHEX(color1)){
                                view.setBackgroundColor(Color.parseColor(color1));
                            }else{
                                color1 = "#000000";
                                view.setBackgroundColor(Color.parseColor(color1));
                            }
                    return false; 
                }
                 return false;
            }
        };   
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View currentView = super.getView(position,convertView,parent);
        currentView.setOnTouchListener(myOnTouchListener);
        });
 
        return currentView;
    }
 }
Добавлено через 2 минуты
P.S. Лучше будет, если ты расскажешь чего ты вообще хочешь добиться.
Не анимации ли нажатия на пункт списка часом?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru