我替换了FragmentA:
FragmentManager fm = MainActivity.getGlobal().getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.addToBackStack(fragmentA.getClass().getSimpleName());
ft.replace(relId, fragmentA,fragmentA.getClass().getSimpleName());
ft.commitAllowingStateLoss();
并添加片段 B :
FragmentManager fm = MainActivity.getGlobal().getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(relId, fragmentB);
ft.commitAllowingStateLoss();
添加FragmentA:onDestroyView
调用后,如何修复?我希望 FragmentB 添加和 Fragment Not DestroyView
谢谢
调用
replace()
类似于在 A 上调用remove()
,他们在 B 上调用add()
,因此当您替换它时无法保存 A,它是onDestroy()
,在DestroyView()
等将被调用。
但是,您可以调用 B 的add()
,而不是replace()
调用 B 在 A 之上添加 B,而无需删除 A 并将 B 添加到后退堆栈以在后按时导航到 A
祝你有美好的一天,阿里