#android #cursor #android-listview #simplecursoradapter
#Android #курсор #android-listview #simplecursoradapter
Вопрос:
Мой ListView
связан с базой данных (с помощью SimpleCursorAdapter
).
Что я должен делать, как только пользователь нажал на строку, чтобы изменить значок? Я пытался:
- обновить значение базы данных;
- измените значок вручную;
- вызов
myCursor.notifyDataSetChanged();
Это не работает — ничего не изменилось. Если я не вызываю myCursor.notifyDataSetChanged();
, то значок меняется. Но как только я перемещаю ListView, он исчезает. Если я снова свяжусь с myCursor
ListView
, то это сработает, но все ListView
будет отрисовано заново, список прокручивается вверх, что является некорректным поведением.
Что мне делать?
Комментарии:
1. Я не уверен, но думаю, вам нужно создать новый курсор (чтобы данные обновлялись), а затем установить этот новый курсор в
ListView
адаптер.
Ответ №1:
Хорошо, я нашел ответ — я должен requery
курсор.