【问题标题】:Disabling the current tab in a bottom navigation controller在底部导航控制器中禁用当前选项卡
【发布时间】:2019-11-03 11:51:38
【问题描述】:

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

是否可以禁用用户当前导航到的标签?

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

我如何处理底部导航:

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

【问题讨论】:

    标签: android kotlin android-jetpack android-navigation


    【解决方案1】:

    根据this issue

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

    bottom_navigation_view.setOnNavigationItemReselectedListener {
      // Do nothing
    }
    

    【讨论】:

    • 太棒了,一行代码,一切都按预期工作。啊,我喜欢安卓。
    猜你喜欢
    • 1970-01-01
    • 2020-12-02
    • 2019-10-02
    • 2018-01-20
    • 2017-11-17
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多