【发布时间】:2017-11-09 10:18:49
【问题描述】:
我正在使用 fragments 和类似的导航流程
Fragment A -> Fragment B -> Fragment C -> Fragment D
Form fragment D 我需要通过清除回栈导航到fragment A 但问题出在fragment C 的onCreateView() 方法中,我正在显示一个对话框
当我通过清除后台堆栈从 D 导航到 A 时在 fragment 上会出现相同的弹出窗口,显示在片段 C 中
下面是我用来清除堆栈的代码
FragmentManager fm = getActivity().getSupportFragmentManager();
for (int i = 0; i < fm.getBackStackEntryCount(); ++i) {
fm.popBackStack();
}
【问题讨论】:
-
当您从 Frag C 移动到 Frag D 时,您使用的是替换,对吗?
-
是的,我正在使用替换
-
下面的答案中的解决方案。如果有效,请告诉我。快乐编码:)
-
你试过了吗?
-
不使用replace使用add(当你想在popUpBackStack上每次调用onCreateView调用时全部replace,当你不调用add方法时)
标签: android android-fragments android-alertdialog fragment-backstack