滚动后,将恢复ListView中的Checkset'Checked'

adr*_*dzv 5 checkbox android listview

我遇到以下问题:

我有一个ListActivity,它的ListView由一个图标,文本和一个复选框(使用LayoutInflater)组成.

ListView的适配器扩展了ResourceCursorAdapter(即从数据库中检索ListView的数据源,也检查每行的Checked状态)

一切都很好,除非我取消选中/选中任意一行的复选框,如果我向下滚动直到修改后的复选框不再可见,然后向上滚动,复选框将恢复到其原始状态.

数据库被修改,这不是问题(即如果我修改一行并退出活动,再次输入,修改后的行显示为Ok).

我的猜测是,这与列表的呈现方式有关,因为出于某种原因,ListView在呈现滚动时首次填充时会"呈现"所有行的原始状态.

我一直在寻找这个bug,但我没有找到任何有这个问题的人.我很感激您的任何建议.

adr*_*dzv 1

通过修改数据库后关闭相应的游标并使用changeCursor()再次打开它解决了该问题。