На данный вопрос уже ответили:
Есть:
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
Ваш 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));
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу, чтобы при нажатии кнопки "UP" аймэдж "gena" стирался и появлялся в новом месте - то есть x = x + 100Но при нажатии кнопки ничего не происходит
Есть javaagent со следующим ClassFileTransformer:
Необходимые порты открыты, удаленный мониторинг через jconsole с других компов доступенПроблема заключается в том, что zabbix возвращает такую...
как мне сделать чтобы Треды запущенные ждали? зачем такая блокирующая очередь у которой wait отсутствует чем она блокирующая? вообще правильно...