互いに置き換え続けるフラグメントがいくつかあります (トランザクションがバックスタックに追加されます)。ある時点でのユーザーの操作に応じて、以前のフラグメントのすべて (または一部) をクリアし、新しいフラグメントを 1 つだけ表示する必要があります。
これを行うには、現在、popBackStack()
最初にそれらをクリアしてから を実行しますreplace()
。これは期待どおりに機能します。ただし、新しいフラグメントが表示される前に、前のフラグメントのフラッシュが発生することがあります。これは、新しいフラグメントを表示する前に最初にバックスタックをポップしているためだと思います。
だから、最初に新しいフラグメントを表示してから、以前のトランザクションのバックスタックをクリアする簡単な方法があるかどうか疑問に思っていますか?