2011-01-08 50 views
1

onCreate和onStart循环之间有什么区别? 我弄糊涂把这些周期的正确的代码。例如在我的情况下,我有主要活动列表视图来显示数据库中的数据和其他活动来创建数据到数据库。 创建数据的活动由listactivity调用。创建数据成功后,它会回到列表活动状态。并且应该更新listview中的数据。如何为每个android的生命周期提供正确的代码?

当我将初始化数据库,游标和适配器放在onCreate方法上时,listActivity不会在创建数据后更新最新的数据。 但是,如果我把它放在onStart方法上,它就会更新。

我的问题:在这种情况下把所有初始化放在OnStart方法中是否正确? 因为我认为如果有一个更新的数据,重新初始化每个数据库记录到列表视图将是昂贵的。

回答

2

onCreate和onStart循环之间有什么区别?

onCreate()在活动首次创建时被调用。每当活动变得可见时调用onStart(),其中包括第一次创建时(在onCreate()之后)以及它从停止状态返回屏幕(例如,另一活动接管屏幕)之后。

我有主要活动列表视图显示从数据库和其它活动数据来创建数据到数据库中。创建数据的活动由listactivity调用。创建数据成功后,它会回到列表活动状态。并且应该更新listview中的数据。

使用受管理的Cursor,那会自动发生。请参阅startManagingCursor()Activity

+0

谢谢。现在在我的情况下,我可以用startManagingCursor()来初始化onCreate。每当有来自其他活动的更新数据时,其更新。 – Faren 2011-01-08 02:54:37

0

这取决于。您是否希望每次用户回到可见的活动时都要重新载入数据?如果是的话,你应该在onStart()中添加这些方法。如果你想在一开始就加载这些值(更像是一次性工作)并且不想被重新加载,那么onCreate就是正确的地方。

有关onCreate和onStart的解释,请参阅doco。此链接中的链接很有用 http://developer.android.com/guide/topics/fundamentals.html#actlife

+0

感谢您的解释。 – Faren 2011-01-08 02:56:32

相关问题