如何保持布局及其数据

时间:2012-12-07 10:13:58

标签: android

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

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

例如:来自inbox-> label->草稿在gmail中如何实现此目的以保持数据/布局不变。

2 个答案:

答案 0 :(得分:1)

活动A和B上的 android:launchMode="singleInstance" 可能会完成吗?

答案 1 :(得分: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);

它只是在活动开始时带来前面并将当前活动置于背景中