java - 如何检查 BottomNavigationView 中哪个菜单文件已膨胀?

标签 java android kotlin bottomnavigationview

我在底部导航 View 中使用了 2 个不同的菜单,称为

  1. bottom_navigation_menu.xml
  2. bottom_navigation_menu_verified.xml

我需要根据底部导航 View 中当前显示的菜单设置不同的操作。我想做这样的东西

lateinit var bottomNavigationView : BottomNavigationView

if (bottomNavigationView.menu == R.menu.bottom_navigation_menu_verified) {
   // do something here
}

但上面的代码无效,因为 bottomNavigationView.menu 将返回 Menu 数据类型,而 R.menu.bottom_navigation_menu_verified 将返回 int,类型不匹配。那么如何检查底部导航 View 中当前的膨胀菜单是什么?

java/kotlin 还可以

最佳答案

您也许可以检查特定的MenuItem:

if (null != bottomNavigationView.menu.findItem(R.id.bottom_navigation_menu_item1)) {
   // do something here
}

关于java - 如何检查 BottomNavigationView 中哪个菜单文件已膨胀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701485/

相关文章:

java - 使用外键引用反序列化 JPA 实体或如何为映射实体设置外键 ID

android - 使用 Android/Firebase 实时数据库时,Single.Create()...blockingGet() 在 RxJava 2.1.3 中挂起

android - Jetpack 撰写 : How to create a rating bar?

android - 如何将本地 aar 依赖项添加到 bintray 发布的库中?

android - Kotlin Android 扩展在库类型模块中不起作用

java - 异常或者它是如何从 “inside” 开始工作的?

java - 如何在同一个二维数组中使用两个构造函数? java

android - 在 Mac OS X 上制作/构建 mupdf 时出错

java.lang.运行时异常 "Cannot run program"

android - 为什么 sendBroadcastAsUser(intent,userHandle) 即使与 Android 5.0 中的设备所有者一起工作也不起作用?