我有launchMode
singleTop
的活动,但是当我从儿童活动开始时,我希望它能够刷新。目前,由于我的片段(包含UI)在活动onCreate()
中实例化,因此UI在返回时不会重新加载。但是,如果我在onStart()
中实例化片段,则会在重新启动活动时调用它。虽然我已经了解了活动生命周期,但我仍然不能完全理解它和Fragment生命周期必须共存的方式。我在活动onCreate()
中实例化片段,因为这是教程应用程序所做的。
无论如何,这会有用吗?
我问这个是为了寻找this question的潜在解决方案,我问过但没有人回答。感谢。
答案 0 :(得分:0)
你可以这样做,但那效率不高。
我建议在片段中创建一个刷新方法,并且该刷新方法可以更新片段中的一些UI组件,这非常快速和简单。在您的活动onStart()中,您可以使用片段管理器找到片段(您在onCreate中实例化)并调用片段的刷新。其中一个原因是效率,如果你不需要重新创建一个片段,然后避免它。实例化新片段需要时间。
奖励:您可以在onStart()中设置条件以确定您是否真的需要刷新,即它在2秒前刷新,您真的想再次刷新吗?