私は2つのフラグメント(Frag A、Frag B)をそれぞれ別のコンテナID(R.id.containerA、R.id.containerB)を持つマルチペインで表示しています。第一のフラグメントのための特定のフラグメントをバックスタックから削除する
私の画面の流れがあるFragA-> FragA1-> FragA2
第二のフラグメントのための私の画面フローがFragB-> FragB1
私はbackstackする各フラグメントを追加しています。だから私はバックスタックで5つの断片を持っています。ナビゲーションの
実際の順序は、私は戻るボタンを押したときに今、私はFragB1がbackstack代わりFragA2のから最初に飛び出しことにしたいFragA-> FragB-> FragA1-> FragB1-> FragA2
です。フラグメントはスタックに保持されていますが、この特定のマルチペインのシナリオをどのように処理するのかはわかりますか?
この投稿に記載されているような反射を使用する必要がありますか? Android Reorder Fragment Backstack
他の代替手段はありますか?
名前を取得した後、Frag B1をポップすることは可能ですか?バックスタッキングはLIFOなので、A2もポップされると思う。 – RisingUp
定義によると、yes A2は、あなたがB1をポップする時までにポップされていました。しかし、あなたがそれを参照している場合は、A2をスタックに戻すことができます。 – ucsunil