Android如何显示和隐藏子菜单项

时间:2017-05-23 12:10:29

标签: java android menu

我想创建一个可切换的菜单,当我点击它显示其子菜单的菜单项时,当我再次点击它们时,它们应该被隐藏。

这就是我所得到的,但它们只会被展示,我无法再隐藏它们。

<group>
    <group>
        <item android:title="Menu 1" android:id="@+id/toggle" android:checkable="true" android:checked="false" />
    </group>
    <group android:id="@+id/group1" android:visible="false">
        <item
            android:id="@+id/sub_menu1"
            android:title="sub_menu1"
            >
        </item>
        <item
            android:id="@+id/sub_menu2"
            android:title="sub_menu2"
            >
        </item>
        <item
            android:id="@+id/sub_menu3"
            android:title="sub_menu3"
            >
        </item>
    </group>
</group>

这是java代码

    public boolean onNavigationItemSelected(MenuItem menuItem) {
        switch (menuItem.getItemId()) {
            case (R.id.toggle):
                if(menuItem.isChecked()){
                    mNavigationView.getMenu().setGroupVisible(R.id.group1, true);
                    break;}
                else{
                    mNavigationView.getMenu().setGroupVisible(R.id.group1, false);
                    break;}
        }
    }
编辑:我尝试了韦德的建议但是没有运气

case (R.id.toggle):

                    toogle= mNavigationView.getMenu().findItem(R.id.toggle);
                    item1= mNavigationView.getMenu().findItem(R.id.item1);
                    item2 = mNavigationView.getMenu().findItem(R.id.item2);

                    if (toogle.isChecked()) {
                        item1.setVisible(true);
                        item2.setVisible(true);
                        break;
                    }

                    else {
                        item1.setVisible(false);
                        item2.setVisible(false);
                        break;
                    }

如果有人得到任何其他方法或建议,请说出来

0 个答案:

没有答案