You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现底部导航栏点击指定项时不触发选中状态?

解决底部导航栏点击项不被选中的问题

问题核心在于setOnItemSelectedListener的返回值规则:返回true会让系统标记当前点击项为选中状态,返回false则会保留导航栏原有的选中状态。

针对你的场景,修改代码如下:

binding.bottomNavigation.setOnItemSelectedListener {
    when (it.itemId) { 
        R.id.referral_bottom_nav -> {
            // 执行弹窗展示逻辑
            false // 返回false,阻止系统选中该项
        }
        // 其他正常跳转的导航项,保持返回true以维持选中逻辑
        else -> true
    }
}
  • 点击需要弹出弹窗的项时,返回false,让系统不改变原有选中状态;
  • 其他需要正常跳转的导航项,依然返回true,保留原本的选中行为。

这样就能实现点击弹窗项时不跳转、不改变选中状态,同时维持底部导航栏的原有状态。

内容的提问来源于stack exchange,提问作者Ammar Ahsan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:04:55