我有一个ListActivity
从数据库查询中获取数据的。我还有一个自定义适配器,它扩展了简单的光标适配器。
为了显示自定义内容,我重写了newView
和 bindView 方法。
视图的每个元素都有:
TextView
包含标题ImageView
包含星数 - 显示的图像根据从数据库中获得的值进行更改- 按钮 - 单击时按钮文本会发生变化(收藏夹/收藏夹),并触发数据库更新事件。
我的问题是这个 - 当我滚动时ListView
,我所做的更改似乎消失了..例如,第一个项目被标记为收藏,列表被滚动......当我回到第一个项目时,文本恢复恢复到以前的值,尽管内部数据库已更新。
我读到这notifyDatasetChanged()
不适合这种情况,因为应该通知适配器数据库更改。我正在尝试使用该reQuery()
方法,但不知道将其放置在哪里。
我应该把它放在按钮reQuery()
的方法中吗?onClick
如果不是,应该放在哪里?