Как мне управлять стеком активности Android? - PullRequest
4 голосов
/ 23 июня 2010

Вот мои два сценария.

1 - Пользователь впервые открывает приложение с домашнего экрана Android Пользователю предоставляется экран «первый раз» (на фоне активности в первый раз, давайте назовем его A) Пользователь нажимает кнопку "Назад" пользователь возвращается на главный экран Android

2 - Пользователь открывает приложение во второй раз Пользователю представлен главный экран со списком приложения (подкрепленный действием списка, назовем его B) Пользователь нажимает кнопку "Назад" Пользователь возвращается на главный экран Android

Я уже знаю о многочисленных способах определения, когда приложение открывается впервые или нет.

Проблема заключается в том, что кнопка возврата возвращается на начальный экран, а не в маршрутную операцию, которая решает, какой экран переслать.

В настоящее время у моего приложения есть действие, чтобы решить, куда маршрутизировать (давайте назовем его R), проблема в том, что мой стек выглядит как R -> A или R -> B

Я хочу, чтобы A или B заменяли R в стеке при их открытии, и если пользователь наносит ответный удар, то они переходят на домашний экран Android, а не обратно в R.

Наличие коллаборатора, задающего представление для A и B, также не совсем реально, так как B расширяет конкретную реализацию android для списка Activity, чтобы получить большую часть его функциональных возможностей.

Есть идеи?

1 Ответ

4 голосов
/ 23 июня 2010

Я хочу, чтобы A или B заменили R на стек, когда они открываются, и если пользователь наносит ответный удар, затем они идут на андроид домашний экран, не обратно в R.

Позвоните finish() в R после того, как он вызывает startActivity(), чтобы вызвать открытие A или B.

...