我使用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创建新光标会更好(更快,更便宜)?
由于
答案 0 :(得分:3)
startManagingCursor()
无需拨打close()
电话。只要你没有得到关于没有完成或关闭光标的例外,你就做了任何事情。