Заменить на новый фрагмент с 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 может быть активным одновременно.

Другие вопросы по тегам