我有一个使用FragmentPagerAdapter的ViewPager实例的FragmentActivity。我首先创建一个片段实例列表,然后将其传递给适配器,以便它可以返回正确页面的正确片段。
我现在的问题是如何处理Activity娱乐。假设应用程序已停止,后台活动将被销毁,稍后活动将恢复。 我知道onCreate中的活动将首先根据它在bundle中传递的FragmentState实例重新创建片段。然后创建一组其他片段并传递给适配器,这当然不是我想要的。
这里的常见做法是什么?是否可以避免在onCreate方法中重新创建片段?或者我应该尝试重用重新创建的片段并将它们传递给适配器吗?
答案 0 :(得分:0)
让片段重新创建是一种常见做法,但在特定情况下,您可能希望使用Fragment.setRetainInstance(),但一般情况下,可以重新创建UI。尝试使用它,或尝试防止在旋转时破坏活动可能会导致不良行为,有时会使应用程序过于复杂。
这就是为什么理想情况下你将模型放在UI类之外(例如Activity,Fragments),因为你可以轻松地重新创建以前的状态。