何时将数据库数据加载到适配器中

时间:2011-04-14 22:39:32

标签: android sqlite

嘿伙计们。我讨厌提出一个相当普遍的问题,但无论如何我都会这样做。

我有一个简单的个人应用程序,我正在查询SQL数据库中的一些记录,并为listview填充适配器,基本上工作正常...但我开始怀疑我是否确实在框架的正确位置。

目前我正在onCreate()期间加载所有内容。从理论上讲,我可能会加载相当多的数据,所以我想在将信息添加到适配器时可能会抛出ProgressDialog,但是我遇到了Cursor的一些奇怪的线程问题。最后,我在onCreate()的末尾附近启动了一个Progress Dialog,然后在另一个线程上休眠并调用一个方法,在短暂的睡眠时间后使用runOnUiThread()加载我的数据,该方法结束时会关闭Progress Dialog。

这是有效的,但它让我知道我是否应该在onCreate期间加载数据库数据...或者是否应该将其移动到onStart()或onResume(),添加代码以清除关闭并打开数据库,根据需要清除并重新填充适配器,因为其他活动已启动并完成。或者所有这些都是不必要的,我应该在onCreate()?

期间保持适配器填充

2 个答案:

答案 0 :(得分:0)

将其移至onResume,就像停止活动一样,您可以销毁适配器并在恢复活动时将其填充回来。 它有助于节省内存,还有助于在数据发生变化时更新适配器。

答案 1 :(得分:0)

Reto Meier建议使用Application可能符合您的需求。看看Activity restart on rotation Android