2011-05-04 56 views
0

例如,当我向数据库添加一行时,我运行ff。代码,如何在数据库更改时重新引导光标适配器?

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

其中crs是游标在游标适配器内的检索。

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

帮助任何人!

+1

请发布堆栈跟踪。 – trojanfoe 2011-05-04 09:46:09

回答

0

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

+0

adapterToRefresh.getCursor().requery(); \t \t \t \t adapterToRefresh.notifyDataSetChanged();,我使用这些代码,但没有工作。:( – MarkJ 2011-05-04 10:11:42

0

你已经调用了startManagingCursor(游标),因此你不需要调用adapter.notifyDataSetChanged()。相反,当您需要刷新其查询并获取数据时,请调用cursor.requery()。

相关问题