使用片段两次调用onCreateView,onActivityCreated和onStart两次

时间:2018-11-28 10:27:26

标签: android android-fragments rotation

是的,这个标题有几个问题,但是我找不到具体答案(或者我错过了重点...)。

我有一个“经典” fragment应用程序:项目列表。当我单击一个项目时,将出现对此项目的描述。

当我在portrait mode时,仅显示项目列表。单击某个项目时,我将fragment个项目替换为说明中的fragment

旋转手机时,在横向模式下,两个fragments会同时出现在屏幕上。发生这种情况时,上述方法在描述fragment中被两次调用。

所以您会说:“问题是,描述fragment是在portrait中创建的,并且当您旋转手机时,android正在恢复此已创建的片段,并创建另一个“。

我理解这一点...但是,如果在xml布局的landscape中静态定义了描述片段,该如何避免重新创建呢?

致谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

当我有代码将片段添加到onCreate方法中的活动时,我遇到类似的问题。我已经通过检查saveInstanceState是否为null解决了这个问题。仅在这种情况下,才将第一个片段添加到活动中。