Довольно распространенная модель для приложений iOS, кажется, имеет один UITabBarController, где каждая вкладка по существу содержит UINavigationController, то есть стек контроллеров, и нажатие вкладки переключает на вершину соответствующего стека.Можно ли получить такое же поведение на Android без большого количества пользовательского кода?(Примечание: я использую меню вместо вкладок на Android).
После прочтения http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html самое близкое, что я могу видеть, - это иметь несколько задач, каждая из которых представляет стек (сродни UINavigationController),и использовать FLAG_ACTIVITY_NEW_TASK для переключения на другую задачу / стек.Когда я переключаюсь, есть ли способ перейти прямо к вершине стека, или мне нужно самому сохранять этот кусок состояния?
Одна проблема с сохранением этого состояния самостоятельно: я заметил, что еслимое приложение запускает Intent, который запускает новый процесс, иногда процесс моего исходного приложения прерывается (я думаю), и все мое глобальное состояние разрушается.
Единственное другое решение, которое я могу себе представить, это иметь пустышкуАктивность в стеке, чтобы вытолкнуть DummyActivityN по существу прямо перед тем, как я переключаюсь из N-го стека, и, при переключении в M-й стек, запустить действие DummyActivityM с FLAG_ACTIVITY_NEW_TASK, а затем сразу же завершить DummyActivityM ().Одна последняя проблема: когда я перемещаюсь к нижней части одного из стеков с помощью кнопки «Назад», я хотел бы нажать кнопку «Назад» еще раз и НЕ переходить к другому стеку / задаче.Но это, кажется, легко преодолеть, запустив Intent для перехода на домашний экран;есть что-нибудь лучше?