1

こんにちは、アプリケーション A は、B アクティビティを作成するランチャー アクティビティです。B から B のインスタンスを削除せずに A に戻りたい (つまり終了しない) 場合、B の新しいインスタンスを作成したいので、B2 と呼びます。そして、A から、B または B2 を再作成せずに表示できるようにしたいと考えています。繰り返しますが、B、B2 は同じクラスであり、インスタンスが異なるだけです。

Aに行きたい時はBから利用しようと思いました

Intent myIntent = new Intent(getBaseContext(), MainAct.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(myIntent);

しかし、他のインスタンスをクリアするので、それは間違いだと思います。ケースでどのような意図を使用する必要がありますか? C# Windows アプリケーションでは、B.hide();A.show() を実行します。次に、A から A.hide(); を実行できます。B.SHOW() または B1.show(); どうすればアンドロイドでそれを行うことができますか?

4

2 に答える 2

0

がアクティビティの場合B、2 つの異なるインスタンスを持つことはできません。

同じクラスを拡張する 2 つの異なるアクティビティを持つことができますが、それを望まないことを示しています。

B新しいインスタンスを作成するのではなく、 の外観と動作を変更する方法を見つける必要があります。

アクティビティのライフサイクルについて読むことを検討してください。

于 2013-07-03T18:18:20.887 に答える
0

FLAG_ACTIVITY_REORDER_TO_FRONTを使用

ドキュメントから

Context.startActivity() に渡された Intent に設定されている場合、このフラグにより​​、起動されたアクティビティが既に実行されている場合、そのタスクの履歴スタックの先頭に移動されます。

于 2013-07-03T18:07:32.230 に答える