Как завершить несколько действий одним нажатием кнопки? - PullRequest
15 голосов
/ 04 марта 2011

Я внедряю приложение для Android на веб-сервисе. Я создаю логин Activity A, затем домашнюю страницу Activity B и т. Д.

Предположим, есть действия A, B, C, D и E и т. Д. Я создаю кнопку home в Activity E и, нажав на нее, Activity E, D and C должен завершиться, а home Activity B должен возобновиться.

Как я могу это реализовать?

A> B> C> D> E> кнопка возврата в E Активность> Б.

Ответы [ 2 ]

17 голосов
/ 04 марта 2011

Посмотрите на флаг FLAG_ACTIVITY_CLEAR_TOP.

По сути, он выполняет следующие действия.Если Activity, на который направлено Intent, приостановлено в текущем заднем стеке, он возобновит его и очистит стек над ним, уничтожив все действия в стеке над ним.

ОБНОВЛЕНИЕ: В ответ Джейсону Хэнли.

Спасибо, что упомянули это.Документация FLAG_ACTIVITY_CLEAR_TOP охватывает этот пример.Если вы не хотите, чтобы Activity B был воссоздан, а просто передали новый Intent, вы должны определить его режим запуска как singleTop.

3 голосов
/ 04 марта 2011

Использовать метод onActivityResult в цепочке.Начните закрывать с самой внешней активности-E при нажатии на дом, затем проверьте его результат и, соответственно, закройте активность-D и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...