NavigationView与多个组隐藏&根据条件显示组

时间:2016-05-13 02:26:28

标签: android navigationview android-support-design android-navigationview

我有NavigationView多个群组,这是基于我需要隐藏的一些条件&展示小组。我怎么能做到这一点。

我的示例NavigationView菜单

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

 <group android:checkableBehavior="single"
        android:id="@+id/grp_employee"
        >

        <item
            android:id="@+id/help"
            android:checked="false"
            android:icon="@drawable/ic_help"
            android:title="@string/app_name" />

.......
</group>

<group android:checkableBehavior="single"
        android:id="@+id/grp_admin"
        >

        <item
            android:id="@+id/admin_help"
            android:checked="false"
            android:icon="@drawable/ic_help"
            android:title="@string/app_name" />

.......
</group>

<group> ... </group>

</menu>

这是我的NavigationView文件。我只想一次只显示一个组视图隐藏所有其他组

2 个答案:

答案 0 :(得分:7)

好吧,您可以使用Menu.setGroupVisible (int group, boolean visible)隐藏或显示菜单组。

navigationView.getMenu().setGroupVisible(R.id.group_id,false);//to hide
navigationView.getMenu().setGroupVisible(R.id.group_id,true);//to show

答案 1 :(得分:-1)

您可以检查组中一项的可见性,其结果等于组的可见性。 例如,通过此行检查const char *的可见性:

admin_help

和检查navigationView.getMenu().findItem(R.id.admin_help).isVisible() 可见性的结果相同