基于2个活动的片段的片段生命周期

时间:2014-11-17 14:59:24

标签: android android-fragments

我有两个基于活动的片段,一个包含列表片段的活动,当一个项目被点击时,它将触发另一个包含另一个片段的活动(让我们称之为DisplayFragment)以显示必要的数据。单击List Fragment上的项目后,系统会在创建/显示其他片段之前调用这些方法。

列表片段:

OnPause() -> onStop()

根据片段的生命周期图表是正确的,但是当我按下后退按钮时,系统调用以下方法:

(DisplayFragment) onPause() -> (ListFragment) onDestroyView() -> (ListFragment) onDestroy() 
-> (ListFragment) onCreate() -> (ListFragment) onCreateView() -> (ListFragment) onResume() 
->(DisplayFragment) onStop() -> (ListFragment) onDestroyView() -> (ListFragment) onDestroy()

我很困惑,为什么系统会调用此订单上的方法。为什么在执行另一个onPause之后调用(ListFragment) onDestroyView(),为什么不在创建或调用新片段之前先破坏所有内容?

1 个答案:

答案 0 :(得分:0)

这可能与活动生命周期有关,因为片段从其父活动继承其生命周期调用。查看活动生命周期,您可能会看到同样的事情。完成细节片段后,您可能会完成活动,这就是为什么在恢复之前的活动时会收到这些电话的原因。

如果不需要,只需使用1个活动并使用FragmentTransaction将其切换出来。