У меня проблема с андроидным фрагментом backstack. Это моя ситуация.Назад от третьего к первому фрагменту в android
// Я не могу добавлять изображения, поэтому я принял ссылку на него.
Как вы можете видеть, я хочу, чтобы перейти от фрагмента 1 до фрагмента 2 и в конце фрагмент 3, но когда я нажимаю кнопку назад на фрагменте 3, я хочу вернуться к фрагменту 1.
I делайте это, как я описываю на рис., но когда я нажимаю кнопку «Назад», ничего не происходит, и когда я нажимаю его второй раз, приложение закрывается.
My BackStack выглядит так, как ожидалось, у меня есть только запись «Главная». Кроме того, когда я добавляю фрагмент фрагмента Backstack 2, я могу нормально вернуться с Frag3 до Frag2 в Frag1 (но это не то, что я хочу).
// Edit:
Первое:
отладить мое приложение немного, и я заметил, что, когда я нажимаю кнопку назад, фрагмент poped из backstack и его методы жизненного цикла вызывались, а текущий фрагмент (Фрагмент 3) ничего не делает (я записал его методы onPause и onStop, и они не были вызваны). Может быть, это проблема?
Второе:
Я нашел решение, которое я реализую onBackStackChange слушателя и в методе onBackStacChange я просто заменить Fragment3 с Fragment1. Это работает, но правильно ли?
где ваш код? –
Добавить первый фрагмент в backstack – DDsix
Возможный дубликат [Это правильный способ очистки стопы фрагмента при выходе из глубоко вложенного стека?] (Http://stackoverflow.com/questions/5802141/is-this-the -right-way-to-clean-up-fragment-back-stack-when-leave-a-deep -nest) –