FragmentTransaction 在替换旧片段但 onDestroyView 调用后添加片段

FragmentTransaction add fragment after replace old fragment but onDestroyView called

我替换了 FragmentA :

 FragmentManager fm = MainActivity.getGlobal().getSupportFragmentManager();
 FragmentTransaction ft = fm.beginTransaction();
 ft.addToBackStack(fragmentA.getClass().getSimpleName());
 ft.replace(relId, fragmentA,fragmentA.getClass().getSimpleName());
 ft.commitAllowingStateLoss();

并添加 FragmentB :

FragmentManager fm = MainActivity.getGlobal().getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(relId, fragmentB);
ft.commitAllowingStateLoss();

添加FragmentA:onDestroyView调用后,如何解决?我希望添加 FragmentB 而 Fragment 不是 DestroyView

谢谢

replace() 的调用类似于对 A 调用 remove() 然后对 B 调用 add() 因此当你替换它时无法保存 A 它是 onDestroy(), onDestroyView() 等将被调用。

但是您可以调用 add() 来代替调用 replace() 为 B 在 A 之上添加 B 而无需删除 A 并将 B 添加到后退堆栈以在后退时导航到 A

祝你有美好的一天,阿里