我在做 FragmentTransaction ,后台是这样的:
fragA => fragB => fragC => fragD
我想根据成功状态从 fragD 返回到 fragA:
fragD => onBackPressed() => fragA
不从返回栈中移除 fragB 和 fragC
我如何使用 Fragment
和 Activity
来做到这一点?
最佳答案
将 fragment 添加到 backstack 时,您必须像这样指定名称:
transaction.addToBackStack(fragment_home.getClass().getName());
从堆栈中弹出时,您可以尝试使用 fragment 名称或位置。
getSupportFragmentManager().popBackStack("Name of the Fragment",
FragmentManager.POP_BACK_STACK_INCLUSIVE);
这样就可以遍历栈中的任意 fragment
您也可以在 onBackPressed()
中尝试。
关于android - 使用 onBackPressed() 进行 fragment 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37128340/