У меня есть ListActivity
, который получает свои данные из запроса к базе данных. У меня также есть специальный адаптер, который расширяет простой адаптер курсора.
Чтобы показать настроенный контент, я переопределил методы newView
и bindView.
Каждый элемент представления имеет:
TextView
с заголовком
ImageView
содержит количество звезд - показанное изображение изменяется в зависимости от значения, полученного из базы данных
- Кнопка - текст кнопки изменяется при нажатии (Favorite / Make Favorite) и запускает событие обновления базы данных.
Моя проблема в следующем - когда я прокручиваю ListView
, сделанные мной изменения, кажется, исчезают ... например, первый элемент помечается как избранный, а список прокручивается ... когда я возвращаюсь к первому элемент, текст возвращается к своему предыдущему значению, хотя внутренне БД была обновлена.
Я прочитал, что notifyDatasetChanged()
не подходит для этого случая, так как адаптер должен быть уведомлен об изменениях базы данных. Я пытаюсь использовать метод reQuery()
, но не знаю, где его разместить.
Должен ли я поместить reQuery()
в метод onClick
кнопки? Если нет, где его разместить?