尝试获取菜单项时导航视图菜单崩溃 - Java(Android)

时间:2018-02-25 00:42:38

标签: java android android-studio navigation-drawer navigationview

我正在尝试从导航抽屉项目中的Activity主抽屉中隐藏项目。但是,在我尝试访问菜单以获取项目并将其设置为不可见的那一刻,应用程序崩溃了。

这是我的代码:

NavigationView nav_draw = (NavigationView) findViewById(R.id.nav_draw);
Menu menu = nav_draw.getMenu().findItem(R.id.navigation_item_1).setVisible(false);

我不知道发生了什么。我试图在SettingsActivity中进行此操作,扩展PreferenceActivity

这是nav_header_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="450dp"
    android:layout_height="70dp"
    android:background="@color/PaletteSecondary"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:gravity="center"
        android:textSize="20dp"
        android:textColor="@color/colorWhite"
        android:text="Social Slide"
        android:textAppearance="@style/TextAppearance.AppCompat.Display1"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@+id/imageView2"
        android:layout_marginStart="11dp" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="60dp"
        android:layout_height="40dp"
        app:srcCompat="@drawable/logo_s_white"
        android:layout_centerVertical="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

以下是activity_main_drawer.xml

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

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_inicio"
            android:icon="@drawable/ic_home"
            android:title="Inicio"
            android:visible="true"/>
        <item
            android:id="@+id/nav_fb"
            android:icon="@drawable/ic_fb"
            android:title="Facebook" />
        <item
            android:id="@+id/nav_twitter"
            android:icon="@drawable/ic_twitter"
            android:title="Twitter" />
        <item
            android:id="@+id/nav_instagram"
            android:icon="@drawable/ic_insta"
            android:title="Instagram" />
        <item
            android:id="@+id/nav_tumblr"
            android:icon="@drawable/ic_tumblr"
            android:title="Tumblr" />
    </group>

    <item android:title="Extras">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@drawable/ic_menu_share"
                android:title="Comparte" />
            <item
            android:id="@+id/nav_mas"
            android:icon="@drawable/ic_more_apps_black"
            android:title="Descarga otras Apps" />
        </menu>
    </item>
</menu>

我很感激一些帮助!

1 个答案:

答案 0 :(得分:0)

您需要在onCreate中添加此方法:

case