片段轮换不恢复当前片段

时间:2013-02-22 21:57:39

标签: android android-fragments android-fragmentactivity

我有片段活动,从片段A开始,然后可以更改为片段B.如果我在片段B上,我旋转我的设备。它加载原始片段A而不是片段B.我正在实际加载片段A和B。我以为android应该保存我自动处理的Fragment我没有覆盖onSaveInstanceState

这是我加载片段的方式

FragmentTransaction t = this.getSupportFragmentManager()
            .beginTransaction();
    t.replace(R.id.fragholder, new MainFragment());
    t.commit();

2 个答案:

答案 0 :(得分:0)

当您旋转设备时,它会破坏您的活动并重新创建它。因此,假设Fragment A是默认的Fragment,那么在重新创建Activity时它会加载它是合乎逻辑的。因此,您需要覆盖onSaveInstanceState以存储哪些Fragment可见,然后在onCreate中重新加载该Fragment。

参考相关活动生命周期文档:http://developer.android.com/training/basics/activity-lifecycle/recreating.html

答案 1 :(得分:0)

只需将android:configChanges =“orientation | screenSize”添加到您的清单中,android就会为您处理所有事情