旋转后Android Fragment堆栈为空

时间:2012-07-05 10:42:37

标签: android

我正在使用FragmentActivity在单个活动应用中显示Fragments的堆栈。这工作正常,我可以移动片段然后回击以回到堆栈,直到我旋转设备,当我最终在堆栈顶部的Fragment旋转但是按下后退按钮带我回到根Fragment,其中所有其他Fragment介于两者之间。

我正在使用以下代码向堆栈添加Fragment

FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.mainContentViewContainer, newFragment, "DetailFragment");
transaction.addToBackStack(null);
transaction.commit();

旋转后可能导致堆栈空的原因是什么?

1 个答案:

答案 0 :(得分:1)

强制Android重新启动活动,将android:configChanges添加到AndroidManifest.xml中是错误的。

记住这一点:

  

旋转后可能导致堆栈空的原因是什么?

由于Android的行为,当您旋转屏幕时,MainActivity将重新启动。您可以使用AndroidManifest文件的android:configChanges选项覆盖此行为。

android:configChanges="orientation|screenSize"