如何将光标保存在活动中?

时间:2010-09-10 09:18:05

标签: java android sqlite listview cursor

我使用Cursor填充我的listView,但是当我离开我的活动然后返回时,我的listview是空的。这是我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {

...

DBAdapter db = new DBAdapter(context);
db.open();
Cursor c = db.getAll();
db.close();

startManagingCursor(c);
String[] columns = new String[] { ... };
int[] to = new int[] { ... };
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.list_item, c, columns, to);
this.setListAdapter(mAdapter);

...

}

我在这里看到有关保存Cursor位置的问题,但不是Cursor本身。可能我只是遗漏了一些东西,我应该保存光标(我怎么能这样做?)或者每次使用我的DBadapter创建新光标会更好(更快,更便宜)?

由于

1 个答案:

答案 0 :(得分:3)

startManagingCursor()无需拨打close()电话。只要你没有得到关于没有完成或关闭光标的例外,你就做了任何事情。