如何在单击时标记抽屉导航中的子菜单?

问题描述 投票:1回答:1

我使用这个drawer_menu.xml做了一个导航抽屉,代码是:

<?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/home"
            android:icon="@drawable/ic_home"
            android:title="Home"></item>
        <item
            android:id="@+id/profile"
            android:icon="@drawable/ic_profil"
            android:title="Profile"></item>
    </group>
    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/message"
                android:icon="@drawable/ic_message"
                android:title="Message"></item>
            <item
                android:id="@+id/share"
                android:icon="@drawable/ic_share"
                android:title="Share"></item>
        </menu>
    </item>
</menu>

但是,当我点击子类别中的消息菜单项时,它没有被标记,而是仅标记了不在子类别中的项目。如下:

click to see the image

如果有人可以帮助我,我会很高兴:)谢谢。

android navigation-drawer submenu
1个回答
0
投票

如你所有,3 items与第3项(沟通)将有sub items,所以你需要在该子项下添加<group android:checkableBehavior="single">,你也关闭你的标签只有2项(家庭,个人资料),你没有包括第3项.try在最后关闭它,就像我在下面的代码中所做的那样:

 <group android:checkableBehavior="single">
        <item
            android:id="@+id/home"
            android:icon="@drawable/ic_home"
            android:title="Home"></item>
        <item
            android:id="@+id/profile"
            android:icon="@drawable/ic_profil"
            android:title="Profile"></item>


<item android:title="Communicate">
        <menu>
              <group android:checkableBehavior="single">//selecting one item from group
            <item
                android:id="@+id/message"
                android:icon="@drawable/ic_message"
                android:title="Message"></item>
            <item
                android:id="@+id/share"
                android:icon="@drawable/ic_share"
                android:title="Share"></item>
              </group>
        </menu>
    </item>
</group>//add this
© www.soinside.com 2019 - 2024. All rights reserved.