0

在像以前的活动一样进行之后如何进行以前的活动假设我去活动1->活动2活动2->活动3活动3->活动1那么工作怎么样?当我按下按钮 hwo 是回到活动 1 吗?我使用它,但它不起作用告诉我如何去以前访问过的活动?

    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

4 回答 4

0

将 android:launchMode="singleTask" 属性添加到您的 AndroidManifest.xml 文件中:

    活动 android:name=".Activity1" android:launchMode="singleTask"

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

然后使用以下代码:

    意图 i = new Intent(Activity3.this, Activity1.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    开始活动(一);

于 2012-10-08T10:12:22.893 回答
0

实际上,实现看起来是这样的:

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

这将杀死所有Activities以上Activity1并将您扔回它。希望这可以帮助。

于 2012-09-26T19:18:05.560 回答
0

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

于 2012-10-09T12:57:29.877 回答
0

谢谢它正在工作

 Intent i = new Intent(Activity3.this, Activity1.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
于 2016-11-18T05:57:04.050 回答