繁体   English   中英

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

[英]How to save state with navigation drawer and fragments

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

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

我看过这篇文章,但它不起作用: 使用导航抽屉保存片段状态

在此先感谢那些可以帮助我的人。

我发现片段状态已经为您保留了下来。

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

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

我将此添加到我的主要活动中的onCreate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM