Как изменить значок в ListView по щелчку?

#android #cursor #android-listview #simplecursoradapter

#Android #курсор #android-listview #simplecursoradapter

Вопрос:

Мой ListView связан с базой данных (с помощью SimpleCursorAdapter ).

Что я должен делать, как только пользователь нажал на строку, чтобы изменить значок? Я пытался:

  1. обновить значение базы данных;
  2. измените значок вручную;
  3. вызов myCursor.notifyDataSetChanged();

Это не работает — ничего не изменилось. Если я не вызываю myCursor.notifyDataSetChanged(); , то значок меняется. Но как только я перемещаю ListView, он исчезает. Если я снова свяжусь с myCursor ListView , то это сработает, но все ListView будет отрисовано заново, список прокручивается вверх, что является некорректным поведением.

Что мне делать?

Комментарии:

1. Я не уверен, но думаю, вам нужно создать новый курсор (чтобы данные обновлялись), а затем установить этот новый курсор в ListView адаптер.

Ответ №1:

Хорошо, я нашел ответ — я должен requery курсор.