Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在活动之间切换_Java_Android_Android Activity_Android Intent - Fatal编程技术网

Java 在活动之间切换

Java 在活动之间切换,java,android,android-activity,android-intent,Java,Android,Android Activity,Android Intent,我想知道如何在活动之间轻松切换。例如,在我的应用程序中,我有: 活动1->活动2->活动3->活动4->活动5 如何从活动5返回活动2,同时保持活动2的状态?当我尝试开始一个新的意图时,我失去了活动2中的状态和额外内容 public void onClick(DialogInterface view, int button) { switch (button) { case DialogInterface.BUTTON_POSITIVE:

我想知道如何在活动之间轻松切换。例如,在我的应用程序中,我有:

活动1->活动2->活动3->活动4->活动5

如何从活动5返回活动2,同时保持活动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:
                    }

非常感谢您的帮助

您应该阅读和阅读。您可以更改活动的启动模式,但我认为最好保持启动模式不变。在方法中保存状态并在中还原。

活动由android操作系统以堆栈方式管理。当您完成当前活动(通过调用finish方法)时,您的应用程序将自动返回到上一个活动(处于您停止的状态)。在您的示例中,当您已经有了活动1、2、3、4、5并尝试使用intent打开一个新的活动时,应用程序的活动堆栈将是1、2、3、4、5、2。相反,您应该依次调用活动5、4、3的finish方法,这样您就可以得到想要的结果。这样,首先您将返回到活动4,然后是3,然后是2

然而,如果您想直接返回到活动2,那么就我所知,您应该考虑编写自己的活动堆栈管理器。

试试:

Intent i = new Intent(activity,AccueilFournisseur.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(i);