У меня есть приложение, которое имеет следующую архитектуру:
Оно имеет FragmentActivity
, которое содержит Fragment
.Этот фрагмент содержит TabHost
с 4 вкладками.Каждая вкладка имеет собственный макет.И я создаю новые фрагменты и связываю их с этими ayouts.Ну, наконец, у меня есть 4 фрагмента.
Каждый фрагмент может начинать несколько новых фрагментов, как его потомок.Я думал, что у каждого фрагмента есть свой backstack.Но похоже, что это не так.Похоже, это обычный backstack для этих фрагментов.
Я имею в виду, если я выберу первую вкладку и начну с нее новый дочерний фрагмент, то выберу вторую вкладку, оттуда начну новый дочерний фрагмент, затем вернусь на первую вкладку и нажму кнопку назад, и она уничтожитдочерний фрагмент из ВТОРОЙ вкладки, но не из первой вкладки.Если я нажму кнопку «Назад» еще раз, то она успешно уничтожит дочерний фрагмент из первой вкладки.
Что ж, я нашел здесь такую же проблему Отдельный стек для каждой вкладки в Android с использованием фрагментов
Кто-то предлагает обернуть каждый из этих 4 фрагментов в FragmentActivity
, но я боюсь, что на рефакторинг всего моего кода потребуется слишком много времени.Потому что проект скоро заканчивается, и у меня не так много времени для такого масштабного рефакторинга.
Может, кто-нибудь может предложить лучшее решение моей проблемы?
Дмитрий