我有一个项目列表如下:(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>
&#13;
其外观与下图相似:
从以下xml文件中调用该列表(app:menu =&#34; @ menu / act_pedido_drawer&#34;):
<?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>
&#13;
确定选择了哪个项目的方法如下:
@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;
}
&#13;
对于正常工作的所有项目,除了可以在图像中看到似乎被禁用的项目nav_mi_empresa_title之外。
我的问题是:有没有办法启用它?
由于
答案 0 :(得分:0)
试试这段代码,我只需将这两个项目放在菜单中:
<?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">
<menu>
<item
android:title="@string/nav_empresa"
android:id="@+id/nav_mi_empresa_title"/>
<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_cuenta"
android:title="@string/nav_cuenta">
<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>
答案 1 :(得分:0)
我会继续这个帖子中建议的唯一想法,但在某些项目中添加一些分隔线。
<?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:id="@+id/grp1" android:checkableBehavior="single">
<item
android:id="@+id/nav_inicio"
android:title="@string/nav_inicio"/>
</group>
<group android:id="@+id/grp2" android:checkableBehavior="single">
<item
android:color="@color/colorDeshabilitado"
android:id="@+id/nav_mi_empresa_titulo"
android:title="@string/nav_empresa"/>
</group>
<group android:id="@+id/grp3" android:checkableBehavior="single">
<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"/>
</group>
<item
android:title="@string/nav_cuenta"
android:id="@+id/nav_titulo_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>
感谢@ D.B.回答。