NavigationView中nav_mi_empresa_title项始终禁用,如何启用?
别担心,这种情况大多是配置或者代码里的小设置导致的,咱们一步步来排查解决:
1. 先检查菜单XML配置
首先打开你的res/menu/act_pedido_drawer.xml,找到nav_mi_empresa_title对应的<item>节点。大概率是这里直接设置了禁用属性:
<item android:id="@+id/nav_mi_empresa_title" android:title="Mi Empresa" <!-- 就是这个属性导致禁用 --> android:enabled="false" />
把android:enabled="false"改成android:enabled="true",同时如果有android:selectable="false"也一并改成true,这样它就默认处于启用状态了。
2. 排查代码中的动态禁用逻辑
如果XML里已经是启用状态,但菜单项还是灰的,那就要看看代码里有没有动态禁用的操作。比如在Activity的onCreate、onPrepareOptionsMenu或者NavigationView的初始化代码里,有没有类似这样的语句:
// 找到这句并修改 navigationView.getMenu().findItem(R.id.nav_mi_empresa_title).setEnabled(false);
把setEnabled(false)改成setEnabled(true)就行。
3. 确保选中逻辑正常
最后,别忘了在onNavigationItemSelected方法里给这个菜单项加上对应的处理逻辑,不然就算启用了点击也没反应:
@Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); if (id == R.id.nav_mi_empresa_title) { // 这里写你的业务逻辑,比如跳转页面、显示弹窗等 Toast.makeText(this, "Mi Empresa 已选中", Toast.LENGTH_SHORT).show(); } // 其他菜单项的处理... return true; }
按照这几步操作,应该就能成功启用nav_mi_empresa_title菜单项了。
内容的提问来源于stack exchange,提问作者Fabián Romo
相关产品推荐
相关产品推荐

