Ошибка при клике на ListView, почему? [дубликат]

218
24 октября 2018, 05:20

На данный вопрос уже ответили:

  • Что такое Null Pointer Exception и как его исправить? 4 ответа

Есть:

ListView lv;
ArrayAdapter<String> adapter;
ArrayList<String> list4adapt = new ArrayList<>();
ArrayList<Boolean> al_checked = new ArrayList<>();

В onCreate:

lv = findViewById(R.id.lv_base);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice, list4adapt);
    lv.setAdapter(adapter);
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            cur_pos = position;
            log("1");
            SparseBooleanArray chosen = ((ListView) parent).getCheckedItemPositions();
            log(" " + String.valueOf(chosen.size()));
            al_checked.clear();
            for (int i = 0; i < chosen.size(); i++) al_checked.add(chosen.get(i));
        }
    });

log:1 проходит, а дальше рушится. Сообщение:

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.util.SparseBooleanArray.get(int)' on a null object reference 
Answer 1

Ваш SparseBooleanArray не возвращает ничего, он пуст. Попробуйте пределать так:

SparseBooleanArray chosen = lv.getCheckedItemPositions();
if (chosen != null) {
log(" " + String.valueOf(chosen.size()));
al_checked.clear();
for (int i = 0; i < chosen.size(); i++) al_checked.add(chosen.get(i));
}
READ ALSO
Перерисовка изображения при нажатии JButton

Перерисовка изображения при нажатии JButton

Хочу, чтобы при нажатии кнопки "UP" аймэдж "gena" стирался и появлялся в новом месте - то есть x = x + 100Но при нажатии кнопки ничего не происходит

174
Не удается изменить конструктор через javaagent

Не удается изменить конструктор через javaagent

Есть javaagent со следующим ClassFileTransformer:

154
Проблема при настройке мониторинга zabbix jmx

Проблема при настройке мониторинга zabbix jmx

Необходимые порты открыты, удаленный мониторинг через jconsole с других компов доступенПроблема заключается в том, что zabbix возвращает такую...

149
Пул задач блокирующая очередь

Пул задач блокирующая очередь

как мне сделать чтобы Треды запущенные ждали? зачем такая блокирующая очередь у которой wait отсутствует чем она блокирующая? вообще правильно...

139