片段回栈并替换

时间:2019-02-18 09:07:38

标签: android android-fragments fragment fragmentmanager

我有2个片段AB。我从片段B A(A->B)添加了片段addToBackStack()。现在,当我进入片段B并按回时,一切正常,然后返回到A

但是当我在片段C中时,如果要检查片段B在片段管理器中是否存在,请显示getFragmentManager().findFragmentByTag("");,然后显示{{1 }}这个片段。

问题是replace在这种情况下不起作用。我的意思是,每当我按下片段A时,都会未显示。我也该如何保存backstack

1 个答案:

答案 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());

这给出了不同的特定堆栈  每个要替换的片段的字符串。