禁用底部导航控制器中的当前选项卡

Joe*_*Joe 2 android kotlin android-navigation android-jetpack

我正在使用 Jetpack Navigation 来处理底部导航控制器。效果很好;但是,我正在寻找一种改进用户体验的方法。

是否可以禁用用户当前导航到的选项卡?

我可以“垃圾邮件”底部导航中的当前选项卡,这会不必要地重新加载数据和 UI。如果这种行为(重新点击当前选项卡)是有意的,有没有办法保留片段的状态,以便在导航离开时不会重新创建?

我如何处理底部导航:

navController = NavHostFragment.findNavController(navigation_host_fragment)
NavigationUI.setupWithNavController(bottom_navigation_view, navController)
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 7

根据这个问题

随意设置 a OnNavigationItemReselectedListener,它优先于 NavigationUI 设置的 OnNavigationItemSelectedListener :setOnNavigationItemReselectedListener

bottom_navigation_view.setOnNavigationItemReselectedListener {
  // Do nothing
}
Run Code Online (Sandbox Code Playgroud)