0

我需要你的帮助,我有 2 个活动 A 和 B,其中 A 是主要活动。现在 B 使用从 A 开始的活动,startActivityForResult()当我完成时从 B 开始,它将返回到活动 A。

这工作正常,但实际目的就像 Gmail 应用程序,当您从 B 返回到 A,然后从 A 再次启动活动 B,然后 A 需要在我离开时使用其最后一个屏幕启动活动。

例如:来自 gmail 中的收件箱->标签->草稿如何实现这一点以保持数据/布局不变。

4

2 回答 2

1

也许android:launchMode="singleInstance"在活动 A 和 B 上会完成它?

于 2012-12-07T10:21:32.247 回答
0

How to switch Activity from 2 activities without losing its data and current state of data

好的,我有解决方案,每次启动您的应用程序时,只会创建活动并查看并放入堆栈,因此下次您再次启动此活动时,只需从后台打开,因此该活动将在堆栈中可用并放在前面使用开始活动

从A开始ActivityB

Intent intent = new Intent(context,ActivityB.class);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

现在从 ActivityB 启动 ActivityA

Intent intent = new Intent(getInstance(), ActivityA.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

它只是在活动开始时放在前面并将当前活动置于后台

于 2013-03-05T10:22:19.570 回答