如何使用导航抽屉和片段保存状态

时间:2016-03-13 20:40:33

标签: android android-fragments navigation-drawer android-savedstate

我有一个带导航抽屉的应用程序,一个活动和许多片段。当我更改设备方向时,我的主要活动是重新创建的,它是我的主要片段,而不是当前片段。就像我启动应用程序一样。

如何恢复当前片段以及与所选片段相关的数据?

我看过这篇文章,但它不起作用:Save fragment state with navigation drawer

提前感谢那些可以帮助我的人。

2 个答案:

答案 0 :(得分:0)

我发现片段状态已经为你保留了。

这就是我所做的:我检查var是否为空。如果是,我执行savedInstanceState事务以显示主片段。如果它不为null,则表示片段状态是持久的。我不进行任何类型的事务,并且从持久状态为我重新创建片段。

答案 1 :(得分:0)

if (savedInstanceState == null){
    //Launch HomeFragment onStart...
    Fragment fragment = new HomeFragment();
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.replace(R.id.frame, fragment).commit();
}

我在“主要活动”中将此添加到了onCreate