【发布时间】:2018-08-09 17:42:14
【问题描述】:
我有一个项目列表如下:(act_pedido_drawer.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_inicio"
android:title="@string/nav_inicio"/>
</group>
<item
android:title="@string/nav_empresa"
android:id="@+id/nav_mi_empresa_title">
<menu>
<item
android:id="@+id/nav_mi_empresa"
android:title="@string/nav_mi_empresa"/>
<item
android:id="@+id/nav_inventario"
android:title="@string/nav_inventario"/>
<item
android:id="@+id/nav_descuentos"
android:title="@string/nav_descuentos"/>
<item
android:id="@+id/nav_clientes_proveedores"
android:title="@string/nav_clientes_proveedores"/>
<item
android:id="@+id/nav_ventas"
android:title="@string/nav_ventas"/>
<item
android:id="@+id/nav_reportes"
android:title="@string/nav_reportes"/>
<item
android:id="@+id/nav_suscribirse"
android:title="@string/nav_suscribirse"/>
</menu>
</item>
<item android:title="@string/nav_cuenta">
<menu>
<item
android:id="@+id/nav_gastos"
android:title="@string/nav_gastos"/>
<item
android:id="@+id/nav_impuestos"
android:title="@string/nav_impuestos"/>
<item
android:id="@+id/nav_hardware"
android:title="@string/nav_hardware"/>
<item
android:id="@+id/nav_terminos_condiciones"
android:title="@string/nav_terminos_condiciones"/>
<item
android:id="@+id/nav_cerrar_sesion"
android:title="@string/nav_cerrar_sesion"/>
</menu>
</item>
</menu>
外观与下图相似:
从以下 xml 文件调用该列表,(app:menu="@menu/act_pedido_drawer"):
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/act_bar_pedido"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_cabecera_act_pedido"
app:menu="@menu/act_pedido_drawer"/>
</android.support.v4.widget.DrawerLayout>
判断哪个item被选中的方法如下:
@Override
public boolean onNavigationItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_mi_empresa_title:{
break;
}
case R.id.nav_terminos_condiciones: {
break;
}
case R.id.nav_mi_empresa: {
break;
}
case R.id.nav_inventario: {
break;
}
case R.id.nav_descuentos: {
break;
}
case R.id.nav_clientes_proveedores: {
break;
}
case R.id.nav_ventas:{
break;
}
case R.id.nav_cerrar_sesion: {
break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
对于所有项目,它都可以正常工作,除了可以在图像中看到的项目 nav_mi_empresa_title 似乎被禁用。
我的问题是:有没有办法启用它?
谢谢
【问题讨论】:
标签: android navigationview onitemselectedlistener