切换活动

时间:2011-07-23 15:27:12

标签: java android android-activity android-intent

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

活动1 - >活动2 - >活动3 - >活动4 - >活动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 个答案:

答案 0 :(得分:1)

您应该阅读Tasks and Back StackManaging the Activity Lifecycle。您可以更改活动的启动模式,但我认为离开启动模式更好。使用Activity.onPause()方法保存您的状态,然后在Activity.onResume()中恢复。

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:0)

活动由Android OS以堆栈方式管理。当您完成当前活动时(通过调用finish方法),您的应用程序将自动返回到上一个活动(处于您离开的状态)。在您的示例中,当您已经有活动1,2,3,4,5并尝试使用intent打开一个新Activity时,您的应用程序的活动堆栈将是1,2,3,4,5,2。相反,你应该按顺序调用活动5,4,3的完成方法,你就会得到你想要的。这样,首先你将回到活动4,然后是3,然后是2。

但是如果你想直接回到Activity 2,那么就我所知,你应该考虑编写自己的Activity栈管理器。