0

私はあなたの助けが必要です、私は2つの活動AとBを持っています。ここでAは主な活動です。これで、BはAを使用してアクティビティを開始し、startActivityForResult()終了するとアクティビティAに戻ります。

これは問題なく動作しますが、実際の目的は、BからAに戻って、AからアクティビティBを再開するときの、Gmailアプリケーションのようなものでした。その後、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 に答える