Оптимальный порядок действий в стеке для кнопки главного меню? - PullRequest
1 голос
/ 02 июня 2010

Я занимаюсь разработкой приложения, которое начинается с главного меню, а затем продолжается через три различных шага (действия) до конечного действия, где задача помечена как завершенная. В этом последнем упражнении у меня есть несколько дополнительных опций (добавить заметку, поделиться и т. Д.), А также кнопка возврата в главное меню.

У меня вопрос: как мне сложить действия, чтобы вызов метода finish () для последнего действия возвращался к первому запущенному действию? В настоящее время я только начинаю новое действие через намерение, поэтому нажатие на этом экране не возвращает меня домой, как мне бы хотелось.

Извините, что я так запутан в моей работе.

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Если я вас правильно понял, вы хотите удалить «шаги» из стека истории, когда вы нажимаете кнопку главного меню в финальном занятии. Если это так, вместо вызова finish(), запустите действие главного меню с флагом Intent.FLAG_ACTIVITY_CLEAR_TOP:

Intent intent = new Intent(this, MainMenu.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
0 голосов
/ 02 июня 2010

с исх. До http://developer.android.com/guide/appendix/faq/commontasks.html#opennewscreen,

Срок службы нового экрана : Действие может удалить себя из стека истории, вызвав Activity.finish () для себя, или действие, открывшее экран, может вызвать Activity.finishActivity () на любых экранах, которые оно открывает, чтобы закрыть их.

Таким образом, вы должны вызывать finish (), как только вы запустите Intent, пример кода

Intent i = new Intent(mContext, Name.class);
        startActivity(i);
        finish();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...