所以我在处理多个片段和配置更改时遇到问题。它就像这样
Container Activity
Stack:
[Fragment 1] (replace)-> [Fragment 2] (Screen rotation occurs) [Fragment 1 is visible]
所以很明显我希望片段2在屏幕旋转后比片段1可见。反正有没有这样做?现在我在添加片段2后将片段1添加到后台堆栈,但它似乎没有任何帮助。我应该采取完全不同的方法,以便我能解决这个问题吗?
当前片段交易代码:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction()
.replace(R.id.fragment_container, fragment)
fragmentTransaction.commit();
答案 0 :(得分:2)
Android将在方向更改后为您重新创建片段。如果要在Activity.onCreate()中创建Fragment1而不检查其包是否已包含已保存的文件:if(savedInstanceState == null) { //create the fragment }
,则每次方向更改时,您可能最终会显示Fragment1的新实例。
并确保从Activity中提交片段trasaction。 http://developer.android.com/training/basics/fragments/communicating.html
但是,我只是在这里猜测,因为你没有发布足够的代码。