0

私はちょうどAndroidプログラミングを学んでいます。私が理解している方法は、サービスがスタックのように機能することです。アクティビティが、前のアクティビティだけでなく、アプリを開始した最初のアクティビティに戻る方法はありますか?

例として、a、b、c、d の 4 つのアクティビティがあるとします。アクティビティ d にアクティビティ a を起動するボタンを付ける方法はありますか?? アクティビティ d が c に移動し、c が b に戻る代わりに???

4

4 に答える 4

1

アクティビティaを再開できますが、インテントでフラグを使用します。

FLAG_ACTIVITY_REORDER_TO_FRONT

Android ドキュメントから:

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

これを使用すると、新しいアクティビティを開始する代わりに、既に実行中アクティビティのインスタンスを再利用できます。これを行うと、アクティビティbc、およびdのインスタンスがバックスタックに残ることに注意してください (現在はアクティビティa の後)。

それ以外の場合、このアクティビティを終了する (およびバック スタックから削除する) 場合は、次の他のフラグを使用して( dから)アクティビティaを開始できます。

FLAG_ACTIVITY_CLEAR_TOP

設定されていて、起動されているアクティビティが現在のタスクで既に実行されている場合、そのアクティビティの新しいインスタンスを起動する代わりに、その上にある他のすべてのアクティビティが閉じられ、このインテントがに配信されます (現在上)新しいインテントとしての古いアクティビティ。

編集: これは、まだ読んでいない場合に読むのに適したリソースです: Tasks and Back Stack

于 2012-05-31T00:40:54.747 に答える
0

Activitiesを介して別のに情報を送信できますIntents

Intent myIntent = new Intent(this, AvitivityName.class);
startActivity(myIntent);

にを追加することを忘れないでActivitiesくださいAndroidManifest.xml

これがAndroidのチュートリアルIntentsです:

  1. Androidインテントの使用方法

  2. ボタンクリックで別のアクティビティに切り替える方法

于 2012-05-31T01:10:41.147 に答える
0

コマンドを使用する

finish():

メインページに戻ります

または、次を指すインテントを記述します

于 2012-05-31T00:38:25.457 に答える
0

はい、できます。アクティビティのインテントをボタンにコーディングするだけです。

于 2012-05-31T00:35:44.733 に答える