当我有一个ListActivity
其使用SimpleCursorAdapter
显示数据库的内容。我在底层数据库更改时刷新视图时遇到问题。的Android:光标重新查询更换整个数据库
作为一个实验,我在活动的onResume()
中添加了对Cursor.requery()
的调用,以便进行调试,所以我所要做的就是翻转到不同的活动并返回,并且它应该强制刷新。我也重写了onContentChanged()
,以进行调试。它蒸发requery()
被调用,但这不是导致对onContentChanged()
通话。
我怀疑光标使用陈旧缓存数据。提示更改的操作实际上涉及擦除和更换整个数据库。我认为我需要扔掉游标并重新从头开始重建它,而不是简单地重新查询。
我已经尝试关闭并重新打开底层数据库,并与Cursor.requery()
一起使用,但光标似乎不喜欢将db从它的脚下拉出来,就像这样。 (这个清单最后是空的。)
编辑:我也试过拨打adapter.notifyDataSetChanged()
旁边requery()
在onResume()
,但它没有区别。
有什么建议吗?
是的,那也没有效果。我会更新这个问题。 – 2011-01-09 23:07:59