【问题标题】:Android hide sub menu item [duplicate]Android隐藏子菜单项[重复]
【发布时间】:2016-02-24 09:20:30
【问题描述】:

我有一个导航菜单抽屉,它设置了多个组和菜单,如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:title="Participant">
        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/nav_new"
                    android:icon="@drawable/ic_menu_share"
                    android:title="@string/nav_new" />
                <item
                    android:id="@+id/nav_start"
                    android:icon="@drawable/ic_menu_slideshow"
                    android:title="@string/nav_start" />
                <item
                    android:id="@+id/nav_delete"
                    android:icon="@drawable/ic_menu_manage"
                    android:title="@string/nav_delete" />
            </group>
        </menu>
    </item>

    <item android:title="Sensors">
        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/nav_raw"
                    android:icon="@drawable/ic_menu_send"
                    android:title="@string/nav_raw" />
                <item
                    android:id="@+id/nav_graphs"
                    android:icon="@drawable/ic_menu_gallery"
                    android:title="@string/nav_graphs" />
            </group>
        </menu>
    </item>

</menu>

我正在尝试将其中一个子菜单项设置为不可见。假设我想隐藏 Start 项目。我试过这样做:

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
Menu navMenu = navigationView.getMenu();
navMenu.getItem(1).setVisible(false);

我希望它隐藏第二个项目(开始),但它只是隐藏了整个第二个菜单组。

获取这样的子项目的正确方法是什么?还是我只是错误地布置了我的菜单 xml?

【问题讨论】:

    标签: java android android-layout navigation-drawer


    【解决方案1】:

    试试这个:

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    Menu navMenu = navigationView.getMenu();
    navMenu.getItem(0).getSubMenu().getItem(1).setVisible(false);
    

    【讨论】:

    • navigationView.getMenu().findItem(R.id.logout).setVisible(true);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多