繁体   English   中英

保存状态导航抽屉页面(片段)

[英]Save state navigation drawer page (fragment)

我已经搜索过SO,但找不到任何有效的方法。

这是我想要做的,当我在导航抽屉页面之间导航时,我希望视图保持相同。 因此,如果我从页面A转到页面B,然后从页面B转到页面A。我希望A具有相同的状态。

在我的应用程序中,我通过一些按钮向片段A添加了一些文本。 当我导航到片段B,然后返回到A时,文本消失了。 我希望文本仍然存在。

我该怎么做呢?

我已经尝试过setRetainState(true)。 这行不通。 我还确保新的Fragment()在转到页面时仅被调用一次。 这也不起作用。

我的导航抽屉的结构与Android文档中显示的结构相同。

我认为,如果您有一个导航抽屉,则每个页面都使用片段。 在导航抽屉中的选择项上,不要重新创建片段,只要存在就从后堆栈中弹出即可。

 HomeFragment homeFragment = (HomeFragment) fm.findFragmentByTag(fragmentName);
 if (homeFragment == null) {
     homeFragment = new HomeFragment();
     fm.beginTransaction().addToBackStack(fragmentName).replace(R.id.content_frame, homeFragment, fragmentName).commit();
 } else {
      fm.popBackStackImmediate(fragmentName, 0);
 }

暂无
暂无

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

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