Android:Fragment Stacks屏幕旋转/配置已更改

时间:2014-08-20 03:04:32

标签: android android-fragments

所以我在处理多个片段和配置更改时遇到问题。它就像这样

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();

1 个答案:

答案 0 :(得分:2)

Android将在方向更改后为您重新创建片段。如果要在Activity.onCreate()中创建Fragment1而不检查其包是否已包含已保存的文件:if(savedInstanceState == null) { //create the fragment },则每次方向更改时,您可能最终会显示Fragment1的新实例。

并确保从Activity中提交片段trasaction。 http://developer.android.com/training/basics/fragments/communicating.html

但是,我只是在这里猜测,因为你没有发布足够的代码。