android - 禁用底部导航 Controller 中的当前选项卡

标签 android kotlin android-jetpack android-navigation

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

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

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

我如何处理底部导航:

navController = NavHostFragment.findNavController(navigation_host_fragment)
NavigationUI.setupWithNavController(bottom_navigation_view, navController)

最佳答案

根据 this issue :

Feel free to set a OnNavigationItemReselectedListener, which takes precedence over the OnNavigationItemSelectedListener set by NavigationUI: setOnNavigationItemReselectedListener

bottom_navigation_view.setOnNavigationItemReselectedListener {
  // Do nothing
}

关于android - 禁用底部导航 Controller 中的当前选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56689704/

相关文章:

android - 如何在AppBarLayout Android中删除SearchView的查询文本中的下划线

java - Spring FileSystemResource NoSuchFileException

gradle - 打包 tornadofx 应用程序时出现不受支持的 major.minor 版本错误

android - 迁移到 androidX 后出现 Manifest marge error

java - 如何在 Android 中将 JSON 参数作为 Web 服务请求发送?

android - 以编程方式在android设置中获取所有者信息

android - Android 上的 Phonegap 是否支持本地存储?

Android 和 HTML5 CACHE.MANIFEST

android - androidx.legacy :legacy-support-v4: dependency 有什么用

android - jetpack compose 是否使用 drawable-night 文件夹?