Заменить на новый фрагмент с FragmentManager
У меня есть экземпляр FragmentManager
(переменная frgManager
), Я заменяю на новый фрагмент:
// Fragments all use the same container
frgManager.beginTransaction().replace(containerId, nextFragment, MyTag).commit();
Допустим, у меня есть три фрагмента A, B, C
,
приложение показывает фрагменты в последовательности A-->B-->C
, Каждый раз, показывая следующий фрагмент, я вызываю код выше.
Проблема после C
Показано, я закрываю C
, затем B
показано на переднем плане, но onResume()
из A
также называется. Зачем? Как избежать этого, потому что я ожидаю только B
"s onResume()
позвонить в этом случае.
1 ответ
frgManager.beginTransaction().replace(containerId, nextFragment, MyTag).addToBackStack().commit();
использование addToBackStack
при создании всех ваших фрагментов. Таким образом, только 1 может быть активным одновременно.