我的导航视图未显示我的菜单项

时间:2019-10-05 00:45:25

标签: android

我在抽屉布局中有一个导航菜单,其中定义了菜单和标题。我的导航视图显示标题,但不显示菜单项。我无法从navigation_menu.xml中看到任何内容。请您帮我解决这个问题?

这是带有Java的Android Studio

**活动文件**

headers

头文件(nav_header.xml)

    <?xml version="1.0" encoding="utf-8"?>

    <androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/holo_green_dark">

            <LinearLayout
                android:id="@+id/mylayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#4030e8"
                android:gravity="start"
                android:orientation="vertical"
                android:paddingLeft="24dp"
                android:paddingTop="24dp"
                android:paddingRight="24dp"
                tools:context=".MainActivity">

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:layout_marginBottom="2dp"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/sourceInfo"
                        android:layout_width="144dp"
                        android:layout_height="wrap_content"
                        android:text="Source"
                        android:textSize="12sp" />

                    <Space
                        android:layout_width="135dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1" />

                    <RadioGroup
                        android:id="@+id/sourceGroup"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                        <RadioButton
                            android:id="@+id/tc"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:checked="false"
                            android:text="Main Centre"
                            android:textSize="12sp" />

                        <RadioButton
                            android:id="@+id/rc"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:checked="false"
                            android:text="Sub Centre"
                            android:textSize="12sp" />

                    </RadioGroup>

                </LinearLayout>

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="5dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/checktime"
                        android:layout_width="138dp"
                        android:layout_height="wrap_content"
                        android:text="Time"
                        android:textSize="12sp" />

                    <Space
                        android:layout_width="5dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1" />

                    <EditText
                        android:id="@+id/toatext"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:enabled="true"
                        android:inputType="text"
                        android:textSize="12sp"
                        android:visibility="visible" />
                </LinearLayout>

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="5dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/enter_age"
                        android:layout_width="81dp"
                        android:layout_height="wrap_content"
                        android:text="Age"
                        android:textSize="12sp" />

                    <Space
                        android:layout_width="65dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1" />

                    <Spinner
                        android:id="@+id/ageSpinner"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />
                </LinearLayout>

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="5dp" />

                <LinearLayout
                    android:layout_width="311dp"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/GenderLabel"
                        android:layout_width="144dp"
                        android:layout_height="wrap_content"
                        android:text="Gender"
                        android:textSize="12sp" />

                    <Space
                        android:layout_width="135dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1" />

                        <RadioGroup
                            android:id="@+id/GenderGroup"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal">

                            <RadioButton
                                android:id="@+id/f"
                                android:layout_width="85dp"
                                android:layout_height="wrap_content"
                                android:checked="true"
                                android:text="Female"
                                android:textSize="12sp" />

                            <RadioButton
                                android:id="@+id/m"
                                android:layout_width="105dp"
                                android:layout_height="wrap_content"
                                android:checked="false"
                                android:text="Male"
                                android:textSize="12sp" />

                        </RadioGroup>
                </LinearLayout>

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="5dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:layout_marginBottom="2dp"
                    android:orientation="horizontal">

                    <Button
                        android:id="@+id/saveData"
                        android:layout_width="78dp"
                        android:layout_height="34dp"
                        android:onClick="save"
                        android:text="Save"
                        android:textAllCaps="false"
                        android:textSize="12sp" />
                    <Button
                        android:id="@+id/closeData"
                        android:layout_width="wrap_content"
                        android:layout_height="34dp"
                        android:onClick="closePatients"
                        android:text="Close"
                        android:textAllCaps="false"
                        android:textSize="12sp" />
                </LinearLayout>
                <Space
                    android:layout_width="wrap_content"
                    android:layout_height="5dp" />

            </LinearLayout>

        <com.google.android.material.navigation.NavigationView

            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:menu="@menu/navigation_menu"
            android:layout_gravity="start"
            app:headerLayout="@layout/nav_header"
            android:id="@+id/nv">

        </com.google.android.material.navigation.NavigationView>

    </androidx.drawerlayout.widget.DrawerLayout>

菜单XML(navigation_menu.xml)

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimaryDark">

        <TextView
            android:id="@+id/targetNumber"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Target Number"
            android:textSize="12sp" />
        <Space
            android:layout_width="5dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <EditText
            android:id="@+id/tarText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:enabled="true"
            android:inputType="text"
            android:textSize="12sp"
            android:visibility="visible" />
        <Space
            android:layout_width="5dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <EditText
            android:id="@+id/rollText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:enabled="true"
            android:inputType="text"
            android:textSize="12sp"
            android:visibility="visible" />
    </LinearLayout>

Java代码

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

            <options android:id="@+id/home"
                android:title="Home"/>
            <options android:id="@+id/team"
                android:title="Team"/>
            <options android:id="@+id/images"
                android:title="Images"/>
            <options android:id="@+id/audit"
                android:title="Audit"/>
            <options android:id="@+id/settings"
                android:title="Settings"/>
          </menu>

1 个答案:

答案 0 :(得分:1)

尝试使用<item>代替<options>

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

        <item android:id="@+id/home"
            android:title="Home"/>
        <item android:id="@+id/team"
            android:title="Team"/>
        <item android:id="@+id/images"
            android:title="Images"/>
        <item android:id="@+id/audit"
            android:title="Audit"/>
        <item android:id="@+id/settings"
            android:title="Settings"/>

</menu>

您可以仅以XML格式添加菜单,而不必以编程方式进行操作,因此请删除nvs.inflateMenu并尝试执行此操作。

 <com.google.android.material.navigation.NavigationView
        android:id="@+id/nv"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        app:menu="@menu/navigation_menu"
        app:headerLayout="@layout/nav_header"

/>

编辑

确保在MainActivity中删除nvs.inflateMenu(R.menu.navigation_menu); 并使用将菜单xml(navigation_menu)放在res->菜单中。

我刚刚换了