0

OKなので、いくつかの調査を行ったところ、これに関してかなりの量の質問があるように見えますが(ここなど)、どの回答も私の特定の質問に対応していないようです。

簡単に言えば、A -> B -> C の 3 つのアクティビティを含むバック スタックがあるとします。ユーザーがアクティビティ C (フォアグラウンド アクティビティ) で特定のアクションを実行した場合、バック スタックからアクティビティ B を削除できるようにしたいと考えています。 A -> D -> Cを与える他のアクティビティDに置き換えます。アクティビティCを中断せずにこれを行う方法はありますか?

前もって感謝します。

4

1 に答える 1

-1

わかりましたので、最初に思い描いたようにこれを行う方法はないようです。コメントで@AlexBcnが提供した提案のおかげで、私はやや「ハッキーな解決策」を見つけました。ユーザーがアクティビティ "B" にいるとき (スタックは現在 A -> B です)、アクティビティ "C" を開始するボタンを押すと、アクティビティ B が破棄されます。したがって、スタックは A -> C になり、追跡します。アクティビティCがどの「状態」にあるのか(これにより、前のアクティビティをどのようにしたいかが決まります)。onBackPressed次に、メソッドをオーバーライドして、アクティビティ C が破棄されたときに新しいアクティビティ (アクティビティ "D") を作成して、目的の効果を複製します。

于 2013-09-24T06:28:51.947 に答える