FragmentTransaction добавляет фрагмент после замены старого фрагмента, но вызывается onDestroyView - PullRequest
0 голосов
/ 21 июня 2020

Я заменил 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 called, как это исправить? Я хочу, чтобы FragmentB добавил, а Fragment Not DestroyView

спасибо

1 Ответ

0 голосов
/ 21 июня 2020

Вызов replace() аналогичен вызову remove() на A, а они вызывают add() на B, поэтому невозможно сохранить A, когда вы замените его onDestroy() на DestroyView() et c будет вызван.

Но вместо вызова replace() вы можете вызвать add() для B, добавить B поверх A, не удаляя A, и добавить B в задний стек, чтобы перейти к A, нажмите

Доброго дня, Али

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...