首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定MenuItem的SubMenu

确定MenuItem的SubMenu
EN

Stack Overflow用户
提问于 2017-01-24 15:49:27
回答 1查看 37关注 0票数 0

我的应用程序中有一个NavigationView。在NavView的菜单中,我有两个子菜单:

代码语言:javascript
复制
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/nav_group_one"
        android:title="SubMenu A">
        <menu>
            <item
                android:checkable="true"
                android:title="One"/>
            <item
                android:checkable="true"
                android:title="Two"/>
        </menu>
    </item>

    <item
        android:id="@+id/nav_group_two"
        android:title="SubMenu B">
        <menu>
            <item
                android:checkable="true"
                android:title="Three"/>
            <item
                android:checkable="true"
                android:title="Four"/>
        </menu>
    </item>
</menu>

在我的活动的onNavigationItemSelected()中,我希望能够找出所选项目在哪个子菜单中。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-11 14:57:29

到目前为止,我还没有找到一个现有的解决方案,但是我已经找到了一个解决方法:

要以最小的额外XML开销解决此问题,请将每组子菜单项包装在一个组中,并使用一个Id:

代码语言:javascript
复制
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/nav_group_one"
        android:title="SubMenu A">
        <menu>
            <group id="@+id/nav_group_wrapper_one">
                <item
                    android:checkable="true"
                    android:title="One"/>
                <item
                    android:checkable="true"
                    android:title="Two"/>
            </group>
        </menu>
    </item>

    <item
        android:id="@+id/nav_group_two"
        android:title="SubMenu B">
        <menu>
            <group id="@+id/nav_group_wrapper_two">
                <item
                    android:checkable="true"
                    android:title="Three"/>
                <item
                    android:checkable="true"
                    android:title="Four"/>
            </group>
        </menu>
    </item>
</menu>

这样,就可以简单地调用item.getGroupId()来推断它所在的子菜单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41822739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档