Переключение между действиями - PullRequest
0 голосов
/ 23 июля 2011

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

Activity1 -> Activity2 -> Activity3 -> Activity4 -> Activity 5

Как я могу вернуться к операции 2 из действия 5 при сохранениисостояние деятельности 2?Когда я пытаюсь начать новое намерение, я теряю состояние и дополнительные элементы в задании 2 ...

public void onClick(DialogInterface view, int button) {
            switch (button) {
            case DialogInterface.BUTTON_POSITIVE:


                        Intent i = new Intent(activity,AccueilFournisseur.class);
                        activity.startActivity(i);*/
                        break:
                    }

Большое спасибо за вашу помощь

Ответы [ 3 ]

1 голос
/ 23 июля 2011

Попробуйте это:

Intent i = new Intent(activity,AccueilFournisseur.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(i);
1 голос
/ 23 июля 2011

Вы должны прочитать Задачи и Back Stack и Управление жизненным циклом активности .Вы можете изменить режим запуска действий, но я думаю, что лучше оставить режим запуска без изменений.Сохраните ваши состояния в методе Activity.onPause () и восстановите в Activity.onResume () .

0 голосов
/ 23 июля 2011

Действия управляются ОС Android в стеке.Когда вы закончите свою текущую активность (вызывая метод finish), ваше приложение автоматически вернется к предыдущей активности (в том состоянии, в котором вы остановились).В вашем примере, когда у вас уже есть действия 1, 2, 3, 4, 5 и вы пытаетесь открыть новое действие, используя намерение, тогда стек активности вашего приложения будет 1,2,3,4,5,2.Вместо этого вы должны вызвать метод завершения задания 5, 4, 3 по порядку, и вы получите то, что хотите.Таким образом, сначала вы вернетесь к занятию 4, затем к 3, а затем к 2.

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

...