我有一个使用onCreate()
和datasource.open()
的{{1}}方法。如果在datasource.close()
末尾发出datasource.close();
,我的ListView SimpleCursorAdapter始终为空。
如果我从onCreate()
的末尾删除datasource.close();
,则会填充ListView。
我无法弄明白为什么会出现这种情况。
任何人都有任何关于为什么会这样的文件?
示例代码:
onCreate()
答案 0 :(得分:1)
如果您想手动管理光标,请在活动deactiveate()
中调用onStop
,然后在恢复时调用requery()
。
但是我会简单地使用Activity.startManagingCursor()
来处理这个问题。此方法已标记为已弃用,因此,如果您要完全按照Google建议的那样执行操作,则需要使用CursorLoader
类来异步处理游标。坦率地说,除非您的数据库非常大和/或您的查询运行速度非常慢,否则使用弃用方法没有任何害处,它不会在一段时间内发生。
答案 1 :(得分:0)
实际上我认为datasource.close()
方法调用应该放在onPause()
,onStop()
或onDestroy
方法的某处。但是没有必要
如果您要发布一些代码片段,我可以提供更准确的答案..