我可以在我的活动的onStart()中创建我的UI片段吗?

时间:2014-04-29 18:12:30

标签: android android-fragments android-activity android-ui android-lifecycle

我有launchMode singleTop的活动,但是当我从儿童活动开始时,我希望它能够刷新。目前,由于我的片段(包含UI)在活动onCreate()中实例化,因此UI在返回时不会重新加载。但是,如果我在onStart()中实例化片段,则会在重新启动活动时调用它。虽然我已经了解了活动生命周期,但我仍然不能完全理解它和Fragment生命周期必须共存的方式。我在活动onCreate()中实例化片段,因为这是教程应用程序所做的。

无论如何,这会有用吗?

我问这个是为了寻找this question的潜在解决方案,我问过但没有人回答。感谢。

1 个答案:

答案 0 :(得分:0)

你可以这样做,但那效率不高。

我建议在片段中创建一个刷新方法,并且该刷新方法可以更新片段中的一些UI组件,这非常快速和简单。在您的活动onStart()中,您可以使用片段管理器找到片段(您在onCreate中实例化)并调用片段的刷新。其中一个原因是效率,如果你不需要重新创建一个片段,然后避免它。实例化新片段需要时间。

奖励:您可以在onStart()中设置条件以确定您是否真的需要刷新,即它在2秒前刷新,您真的想再次刷新吗?