android按下按钮时如何进入上次访问过的活动

时间:2012-09-26 18:56:00

标签: android

如此前一次活动之后如何前往活动假设我去了活动1 - > activity2 activity2 - > activity3 activity3 - > activity1那么工作怎么样? 当我按下按钮时,回到activity1?我使用这个,但它不工作告诉我如何前往访问过的活动?

    Intent intent = new Intent(Activity4.this, Activity1.class);

startActivity(intent);


   i also use this code is not work for me
  Intent i = getIntent();
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);

   //finish();    finish just previous acitivity is not work for me

4 个答案:

答案 0 :(得分:0)

实际上,实现方式是这样的:

Intent intent = new Intent(Activity3.this, Activity1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

这会杀死Activities以上的所有Activity1,然后再回到它。希望这会有所帮助。

答案 1 :(得分:0)

将android:launchMode =“singleTask”属性添加到AndroidManifest.xml文件中:


    activity android:name=".Activity1" android:launchMode="singleTask" 

这非常重要。如果您不添加该属性,则将始终在每个intent上重新创建您的活动,并且将重新初始化其状态。这就是您收到错误消息并且应用程序崩溃的原因。

然后使用以下代码:


    Intent i = new Intent(Activity3.this, Activity1.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);

答案 2 :(得分:0)

您可以将清单上的true设置为活动2上的noHistory。 不需要额外的代码。

答案 3 :(得分:0)

谢谢它正在运作

 Intent i = new Intent(Activity3.this, Activity1.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);