数据库更改后如何刷新游标适配器?

时间:2011-05-04 09:44:37

标签: android adapter

例如,当我向数据库添加一行时,我运行ff。代码,

            Cursor crs = adapterToRefresh.getCursor();
            crs.close();
            crs = this.dbImmunization.queryAll();
            this.startManagingCursor(crs);
            crs.moveToFirst();
            adapterToRefresh.changeCursor(crs);
            adapterToRefresh.notifyDataSetChanged();

其中crs是光标适配器中的光标检索。

到目前为止,这个实现给了我一个CursorIndexOutOfBoundsException错误。

帮助任何人!

2 个答案:

答案 0 :(得分:0)

如果正确创建,首先使用sqlite浏览器查看表和行。第二,当您遍历数据库时如何前往最后一行。可能有问题。只有当你显示你的logcat输出时它才会更清晰。

答案 1 :(得分:0)

您已调用startManagingCursor(游标),因此无需调用adapter.notifyDataSetChanged()。而是在需要刷新查询和获取数据时调用cursor.requery()。