peixaxo Ответов: 0

Android - после открытия 5 действий, как перейти к нечетному номеру при нажатии кнопки "назад" (5 -> 3 -> 1)


Следующий вопрос был представлен мне при решении экзамена по системам Android и iOS, и, несмотря на понимание Бэкстэка Android, я понятия не имею, как на него ответить.

Как вы могли бы реализовать Android-приложение, которое полагалось бы на 5 активностей, и, открыв их в порядке 1- > 2- > 3- > 4-> 5, когда в 5-м действии была нажата кнопка "назад", 5-е действие закрывалось, позволяя 3-му всплывать, а когда "назад" нажималось снова, то же самое между 3-м и 1-м действиями. Все это при одновременном закрытии 2-го и 4-го видов деятельности.
Вопрос требовал ответа с акцентом на заднюю стенку системы Android.

Backstack:
(все 5 видов деятельности открываются в указанном выше порядке)
1, 2, 3, 4, 5

5-е занятие закрыто
5, 4, 3, 2, 1
5, 3, 1

3-е занятие закрыто
3, 1
3, 1

1-е занятие закрыто
1
Приложение закрывается

Что я уже пробовал:

Я мог бы очень легко описать программную реализацию того, что было запрошено, в основном отслеживая порядок открытия каждого действия, и после закрытия текущего, если это было 5-е, я бы сделал 2-е и 4-е мгновенно закрытыми при вызове их onCreate (), позволяя нечетным номерам действий казаться единственными существующими.
Однако этого не произошло бы. на самом деле закройте 2-е и 4-е действия и вообще не полагайтесь на функциональность Backstack.

David Crow

В Действие Activity2:

startActivity(Activity3);
finish(); // this will remove Activity2 from the stack


И в Деятельности4:

startActivity(Activity5);
finish(); // this will remove Activity4 from the stack

0 Ответов