如何在方向更改时保留backstack中的碎片?

时间:2014-02-20 13:49:53

标签: android android-fragments orientation-changes

如何在方向更改时保留backstack中的碎片?

我使用此代码将片段添加到backstack:

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, fragment, tag);
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

但是当我改变设备方向时它们会消失。

我试图在Google Play中重现片段的行为。

1 个答案:

答案 0 :(得分:2)

  

如何在方向更改时保留backstack中的碎片?

AFAIK,你没有。相反,您可以保留其他片段,例如模型片段。

请记住,谷歌的官方建议是针对具有用户界面永远不会保留的片段,因为开发人员可能会搞砸并保留与旧活动相关的内容,而这些内容是不应该的。就个人而言,我认为这项建议有点矫枉过正。

  

我正在尝试重现Google Play中片段的行为。

我不太确定你在这里指的是什么。从应用程序外部无法确定该应用程序是否保留了碎片。