我想知道如何在活动之间轻松切换。例如,在我的应用程序中,我有:
活动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:
}
非常感谢你的帮助
答案 0 :(得分:1)
您应该阅读Tasks and Back Stack和Managing 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栈管理器。