2

私は2つの活動をしています

  1. 主な活動
  2. プロジェクト活動

MainActivity には 3 つのタブ (フラグメント) があります

  1. Frag1
  2. Frag2
  3. Frag3

Frag2 に移動し、アクション バーから [追加] ボタンをクリックすると、ProjectActivity が開始されます。プロジェクト アクティビティで [キャンセル] ボタンをクリックすると、MainActivity が再び開始されます。しかし、MainActivity が開始されると、Frag1 が表示されます。

ユーザーが以前 Frag2 を使用していたので、Frag2 を表示するようにコードを変更するにはどうすればよいですか?

この単純なコードを使用して、キャンセル ボタンがクリックされたときに MainActivity を開始します。

intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
4

2 に答える 2

3

メイン アクティビティを再開しないでください。finish()代わりに使用してください。MainActivityこれにより、新しいものを作成するのではなく、元の状態に戻ります。これは、戻るボタンと同じ動作です。

バック スタックの詳細については、タスクとバック スタックを参照してください。

于 2013-01-13T15:57:47.147 に答える
0

現在のタブを保存し、onPause() で更新する変数を保持できます。また、 onResume() で同じ変数を確認し、それに応じて現在のタブを設定します。

于 2013-01-14T07:43:30.737 に答える