Android NavigationView子菜单标题不显示

4

您好,我正在使用Android的NavigationView。我有一个菜单项组和子菜单项作为抽屉式导航菜单的Menu项目。

在这里,子菜单项出现在主菜单项后面的分隔符下方,但问题是子菜单的标题没有显示出来。子菜单项只是在分隔符下方显示,没有标题。我无法确定问题所在。

在子菜单组内插入一个菜单标记,并将所有子菜单项放置在该菜单标记中可以解决此问题,但这会使得每次选择子菜单项时都需要选择2次才能看到它被选中(显示已选中)。如何解决此问题?

以下是我的代码:

<?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">
        <group>
            <item
                android:id="@+id/nav_home"
                android:checkable="true"
                android:icon="@drawable/ic_person"
                android:title="Item1" />
            <item
                android:id="@+id/nav_messages"
                android:checkable="true"
                android:icon="@drawable/ic_attach"
                android:title="Item2" />
            <item
                android:id="@+id/nav_friends"
                android:checkable="true"
                android:icon="@drawable/icon"
                android:title="Item3" />
            <item
                android:id="@+id/nav_discussion"
                android:checkable="true"
                android:icon="@drawable/ic_exit"
                android:title="Item4" />

        </group>



<item android:title="Select Submenu">

    <group  android:id="@+id/group2"
            android:title="Select Submenu"
            >

            <item
                android:id="@+id/sub1"
                android:checkable = "true"
                android:icon="@drawable/sub_icon1"
                android:title="Sub Item1" />
            <item
                android:id="@+id/open"
                android:checkable = "true"
                android:icon="@drawable/sub_icon2"
                android:title="Sub Item2" />
            <item
                android:id="@+id/active"
                android:checkable = "true"
                android:icon="@drawable/sub_icon3"
                android:title="Sub Item3" />

        </group>
</item>

1个回答

5

使用这个。您将组合成项目。

请参见此链接以获取设计库。

用此替换您的文件

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

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_home"
        android:icon="@drawable/ic_dashboard"
        android:title="Home" />
    <item
        android:id="@+id/nav_messages"
        android:icon="@drawable/ic_event"
        android:title="Messages" />
    <item
        android:id="@+id/nav_friends"
        android:icon="@drawable/ic_headset"
        android:title="Friends" />
    <item
        android:id="@+id/nav_discussion"
        android:icon="@drawable/ic_forum"
        android:title="Discussion" />
</group>

<item android:title="Sub items"
      android:layout_gravity="bottom"
    >
    <menu>
        <item
            android:icon="@drawable/ic_dashboard"
            android:title="Sub item 1" />
        <item
            android:icon="@drawable/ic_forum"
            android:title="Sub item 2" />
    </menu>
</item>

这是我的输出

在此输入图片描述


这将使标题出现在主要项目中(分隔符上方)并且作为没有图标的项目。我希望标题看起来像这样:(http://imgur.com/zoDqDKM.png)。 - Sudheesh Mohan
现在子标题回来了,但是只有在点击两次后才会选择子项,而且它无法正确取消选择。(如我在问题中提到的,第三段) - Sudheesh Mohan
有没有办法将此转换为可扩展的菜单项,而不使用大型适配器和多个布局? - Alok Rajasukumaran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接