android - studio - navigation drawer medium
¿Cómo puedo obtener el elemento del menú en NavigationView? (3)
Creo que primero deberías obtener el menú así:
navigationView.getMenu().findItem(R.id.login).setVisible(false);
El aspecto principal de este código es llamar a navigationView.getMenu () para obtener el menú de este. Tendrás una referencia del menú inflado actual y llamar a findViewById () y luego podrás hacer lo que quieras.
Por grupo de artículo ex: -
<group
android:id="@+id/group_1"
android:checkableBehavior="single"
android:visible="false">
...
y luego puedes controlar esto usando: -
navigationView.getMenu().setGroupVisible(R.id.group_1, true)
<android.support.design.widget.NavigationView
android:id="@+id/drawer_nav"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/menu_drawer"
/>
Estoy usando android.support.design.library
para el diseño de materiales.
Lo que quiero es ocultar algunos elementos del menú cuando el usuario no ha iniciado sesión.
Ahora tengo problemas para obtener el elemento de menú en NavigationView
.
Yo he tratado:
MenuItem logoutItem = (MenuItem) mNavigationView.findViewById(R.id.menu_logout);
logoutItem.setVisible(false);
Pero no está funcionando.
¿Cómo puedo hacer esto?
Gracias.
Puede obtenerlo por el método de NavigationView.getMenu()
Menu menuNav = mNavigationView.getMenu();
Entonces puedes encontrar un artículo específico por
MenuItem logoutItem = menuNav.findItem(R.id.menu_logout);
Vea la documentación oficial para NavigationView
solo usa debajo de la manera
nav_draw = (NavigationView) findViewById(R.id.nav_draw);
nav_draw.getMenu().findItem(R.id.navigation_item_1).setVisible(false);