4

ここに画像の説明を入力

上の画像のように、いくつか質問があります。各ステップを順番に読むことが要求されます:-

  1. 各ブロックは Android アクティビティです
  2. 矢印はスタック方向を表します - アクティビティが開かれる順序 (A はアプリが最初に起動されたときに開始されます)
  3. ここで、ユーザーがアクティビティFに到達し、同じアクティビティ Z (Flag_Activity_clear_top を使用しています) を開きたい場合。
  4. その後、ユーザーがアクティビティ Dを開きたい場合は、アクティビティ Zから。

****このステップでの要件は次のとおりです - アクティビティ D が開かれ、ユーザーが戻るボタンを押したとき - ユーザーをアクティビティCにリダイレクトし、その後、アクティビティBなどにリダイレクトする必要があります..** **

現在、 (Z から来た後)アクティビティ Dから戻ると、アクティビティ Zにリダイレクトされます。

4

2 に答える 2

5

CLEAR_TOP は良くありません。なぜなら、その方法でアクティビティを開くと、スタック全体が削除され、希望どおりに聞こえないからです。

これを試してください: アクティビティ E (D から)、F (E から)、および Z (F から) を開始するときは、フラグ「FLAG_ACTIVITY_NO_HISTORY」を使用して実行します。このフラグは、新しいアクティビティがバック スタックに表示されないようにします。

この方法で開いたアクティビティはバックスタックに登録されないことに注意してください。ですので、例えばFの時に打ち返すとDに戻ります。

お役に立てれば!

于 2013-10-01T11:20:27.690 に答える