1

ボトム ナビゲーション ビューを持つ複数のバックスタックを含む最後のナビゲーション ライブラリ (バージョン 2.4.0) を使用しています。

デフォルトの動作では、ユーザーがタブに戻ったときに各バックスタックが保存されます。ユーザーがタブを離れたときにバックスタックをクリアしたい。

3 つのタブがあるこの下部のナビゲーションに基づいて:

タブ1 タブ 2 タブ3
スクリーンA1 スクリーンB1 スクリーンC1
スクリーンA2 スクリーンB2 スクリーンC2

ユーザーの場合、Tab1 から:

  • スクリーンA2に行く
  • Tab2 をクリック (ScreenB1 表示)
  • Tab1に戻ります
  • ここでは、ScreenA2 ではなく ScreenA1 が必要です (ナビゲーション ライブラリのデフォルトの動作)。

ありがとう

4

1 に答える 1

-1

onNavigationItemSelected Listener で行ったところです

  1. navigation.xml と menu.xml の ID は異なる必要があります

  2. 特定のアイテムのクリックアクションを処理するときは、これを試してください

             R.id.home_bottom_item -> {navController.popBackStack();
             navController.navigate(R.id.home_bottom_item)
         }
    
于 2022-02-14T17:54:27.767 に答える