我搜索过SO并且无法找到有效的内容。
这是我想要做的,当我在导航抽屉页面之间导航时,我希望视图是相同的。所以,如果我从A页到B,然后从B到A,我希望A具有相同的状态。
在我的应用程序中,我通过一些按钮向片段A添加了一些文本。当我导航到片段B,然后返回到A时,文本消失了。我希望文本仍然存在。
我该怎么做?
我已经尝试过setRetainState(true)。这不起作用。我还确保新的Fragment()仅在转到页面时调用一次。这也行不通。
导航抽屉的结构与Android文档中显示的相同。
答案 0 :(得分:0)
我认为,如果你有一个导航抽屉,你可以为每个页面使用片段。 在导航抽屉中选择项目时,不要重新创建片段,只要它从后面的堆栈中弹出就可以了。
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);
}