У меня есть одно действие с 3 фрагментами, которые образуют рабочий процесс для сбора пользовательского ввода. Как правило, фрагмент A является первым фрагментом -> запускает B -> запускает C. B. предполагается запустить A, если нажата кнопка «Назад», и аналогичная кнопка «Назад» должна запускаться B.Восстановление фрагмента backstack для фрагмента с двумя возможными путями backstack
Однако в некоторых случае, A должен запускать C напрямую, а затем обратно C снова запустить A.
Я предпочитаю, чтобы C не знал, кто его запустил. То есть Я хочу, чтобы C «backstack» работал без C, зная, кто его запустил.
Я пробовал использовать обычный метод addToBackstack, но перед тем, как действие было убито после того, как пользователь позволяет приложению перейти в фоновый режим, когда C был открыт, я столкнулся с проблемой.
- Я хотел бы пользователю вернуться к «C», а не начинать все с А. Для достижения этой цели я использую сохраненное состояние экземпляра, и обнаруживая, который фрагмент ранее был активным, и запускать его из Мероприятия.
- Проблема начинается, когда пользователь хочет вернуться с C после того, как действие было восстановлено после его убийства. C не знает, кто запустил его: A или B. Как заставить кнопку «Назад» работать как ожидалось для этого случая?