我正在使用FragmentActivity
在单个活动应用中显示Fragments
的堆栈。这工作正常,我可以移动片段然后回击以回到堆栈,直到我旋转设备,当我最终在堆栈顶部的Fragment
旋转但是按下后退按钮带我回到根Fragment
,其中所有其他Fragment
介于两者之间。
我正在使用以下代码向堆栈添加Fragment
:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.mainContentViewContainer, newFragment, "DetailFragment");
transaction.addToBackStack(null);
transaction.commit();
旋转后可能导致堆栈空的原因是什么?
答案 0 :(得分:1)
强制Android重新启动活动,将android:configChanges
添加到AndroidManifest.xml
中是错误的。
记住这一点:
旋转后可能导致堆栈空的原因是什么?
由于Android的行为,当您旋转屏幕时,MainActivity将重新启动。您可以使用AndroidManifest文件的android:configChanges
选项覆盖此行为。
android:configChanges="orientation|screenSize"