我尝试使用我在堆栈中找到的以下代码行来删除该组,但它不起作用。
1)。按ID删除组
NavigationView navigationView = (NavigationView)findViewById(R.id.nav_view);
menu.removeGroup(R.id.myPagesGroup);
2)。按ID设置可见性
menu.setGroupVisible(R.id.myPagesGroup, false);
第3)。从第一个另一个组项目中查找子菜单,然后设置可见性
menu.findItem(R.id.nav_support).getSubMenu().setGroupVisible(R.id.myPagesGroup, false);
代码段 1 且 2 不会给我一个错误,该组只是可见。
Snippet 3 给了我一个{{3}}
java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.SubMenu.setGroupVisible(int, boolean)' on a null object reference
使用下面的代码删除项目无效。
menu.removeItem(R.id.nav_calendar);
以下是实际的菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/favoritesGroup"
android:checkableBehavior="single">
<item
android:id="@+id/nav_calendar"
android:icon="@mipmap/ic_calendar"
android:title="Kalender"/>
<item
android:id="@+id/menu_none"
android:title=""
android:visible="false"/>
<item
android:id="@+id/nav_availabilityList"
android:icon="@mipmap/ic_calendar"
android:title="Tillgänglighet"/>
<item
android:id="@+id/nav_available_jobs"
android:icon="@mipmap/ic_assignment"
android:title="Lediga Jobb"/>
<item
android:id="@+id/nav_my_contacts"
android:icon="@mipmap/ic_phone"
android:title="Kontakt"/>
<item
android:id="@+id/nav_contactSc"
android:visible="false"
android:icon="@mipmap/ic_phone"
android:title="Kontakt"/>
<item
android:id="@+id/nav_support"
android:icon="@mipmap/ic_phone"
android:title="Support"/>
</group>
<item android:title="Mina Sidor">
<menu>
<group
android:id="@+id/myPagesGroup"
android:checkableBehavior="single">
<item
android:id="@+id/nav_my_commissions"
android:icon="@mipmap/ic_commissions"
android:title="Mina Uppdrag"/>
<item
android:id="@+id/nav_commission_schedule"
android:icon="@mipmap/ic_commission_schedule"
android:title="Uppdragsschema"/>
<item
android:id="@+id/nav_vacation"
android:icon="@mipmap/ic_vacation_application"
android:title="Semesteransökan"/>
<item
android:id="@+id/nav_employment_terms"
android:icon="@mipmap/ic_employment_terms"
android:title="Anställningsvillkor"/>
<item
android:id="@+id/nav_document"
android:icon="@mipmap/ic_document"
android:title="Dokument"/>
<item
android:id="@+id/nav_consultant_agent"
android:icon="@mipmap/ic_consultant_agent"
android:title="Konsultombud"/>
<item
android:id="@+id/nav_file_upload"
android:icon="@mipmap/ic_file_upload"
android:title="Ladda upp intyg"/>
<item
android:id="@+id/nav_my_tests"
android:icon="@mipmap/ic_tests"
android:title="Mina tester"/>
<item
android:id="@+id/nav_matching_jobs"
android:icon="@mipmap/ic_matching_jobs"
android:title="Matchande jobb"/>
<item
android:id="@+id/nav_my_applications"
android:icon="@mipmap/ic_applications"
android:title="Mina ansökningar"/>
<item
android:id="@+id/nav_my_profile"
android:icon="@mipmap/ic_profile"
android:title="Min profil"/>
</group>
</menu>
</item>
<item android:title="Övrigt">
<menu>
<group
android:id="@+id/generalGroup"
android:checkableBehavior="single">
<item
android:id="@+id/nav_looking_for_job"
android:icon="@mipmap/ic_assignment"
android:title="Söker du jobb?"/>
<item
android:id="@+id/nav_looking_for_personel"
android:icon="@mipmap/ic_people"
android:title="Söker du personal?"/>
<item
android:id="@+id/nav_about_us"
android:icon="@mipmap/ic_office"
android:title="Om oss"/>
<item
android:id="@+id/nav_logout"
android:icon="@mipmap/ic_phone"
android:title="Logga ut"/>
</group>
</menu>
</item>
</menu>
答案 0 :(得分:1)
你试过这个吗?
Menu nav_Menu = navigationView.getMenu();
nav_Menu.findItem(R.id.myPagesGroup).setVisible(false);
对于团体
navigationView.getMenu().setGroupVisible(R.id.myPagesGroup, false);