我有2个片段A
和B
。我从片段B
A
到(A->B)
添加了片段addToBackStack()
。现在,当我进入片段B
并按回时,一切正常,然后返回到A
。
但是当我在片段C
中时,如果要检查片段B
在片段管理器中是否存在,请显示getFragmentManager().findFragmentByTag("");
,然后显示{{1 }}这个片段。
问题是replace
在这种情况下不起作用。我的意思是,每当我按下片段A时,都会未显示。我也该如何保存backstack
?
答案 0 :(得分:1)
这是我正在使用的代码
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.popBackStack(fragment.toString(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
FragmentTransaction tx = fragmentManager.beginTransaction();
Log.v("on calling fragment", fragment + "==" + fragment.toString());
tx.replace(R.id.fl_main, fragment).addToBackStack(fragment.toString());
这给出了不同的特定堆栈 每个要替换的片段的字符串。