0

この質問を手伝ってください。例アクティビティクラスMyActivityがあります。このアクティビティを開始し、このインスタンスを「ホーム」と呼びます。このアクティビティでは、3つのボタンがあります。呼ばれる:Button1、Button2、Button3。1つのボタンをクリックすると、MyActivityの別のインスタンスが起動します。だから、私はこれを好きにできますか:

Button1 start A1をクリックし、Button2 start A2をクリックしてから、Button3startA3をクリックします。次のようなアクティビティスタックがあります:home-> A1->A2->A3。アクティビティA3(MyActivityのインスタンス)について。Button1をクリックすると、新しいものを作成する代わりにA1を前面に移動できますか?私はそれをすることができるのだろうか?

4

2 に答える 2

1

A1、A2、A3がすべてのインスタンスである場合、Androidにどのインスタンスを前面に表示するかMyActivityを指示する方法がないため、これを行うことはできません。MyActivity

ただし、それぞれがから派生する3つの新しいアクティビティ(、、および)を作成する場合はA1A2これらのアクティビティを開始するときにフラグを設定することでこれを行うことができます。A3MyActivityIntent.FLAG_ACTIVITY_REORDER_TO_FRONT

マニフェストには、4つのアクティビティ(、、、)がすべてMyActivity含まれている必要があります。A1A2A3

次のようなものになります。

public class A1 extends MyActivity {
}

public class A2 extends MyActivity {
}

public class A3 extends MyActivity {
}

そして、MyActivity'onClick()when you start an activity (eitherA1 ,A2 orA3`)では、次のようにします。

Intent intent = new Intent(this, A1.class); // or A2 or A3
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
于 2012-09-18T17:24:43.237 に答える
0

新しいアクティビティを開始する前に、このフラグを意図して使用してみてください

intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
于 2012-09-18T17:27:15.177 に答える