如何在代码中更改导航视图菜单中菜单项的顺序?

How to change the order of MenuItems in menu of NavigationView in code?(如何在代码中更改导航视图菜单中菜单项的顺序?)
本文介绍了如何在代码中更改导航视图菜单中菜单项的顺序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在NavigationView中有一个菜单,它有7个菜单项,根据用户设置,其中一些菜单项应该是不可见的,其余的可见项应该以不同的顺序显示。这些项目已在XML菜单布局中定义。

我用谷歌搜索了很多,但没有任何与已经定义的菜单项相关的内容。大多数解决方案建议使用代码创建菜单项,并在创建菜单项时设置顺序。

以下是我的菜单项XML布局:

<group android:checkableBehavior="single">
    <item
        android:id="@+id/Home_menuitem"
        android:title="Home" />
    <item
        android:id="@+id/Register_menuitem"
        android:title="Register" />
    <item
        android:id="@+id/Login_menuitem"
        android:title="Login" />
    <item
        android:id="@+id/language_menuitem"
        android:title="Language" />
    <item
        android:id="@+id/ContactUs_menuitem"
        android:title="Contact Us" />
    <item
        android:id="@+id/Likes_menuitem"
        android:title="Likes" />
    <item
        android:id="@+id/Subscription_menuitem"
        android:title="Subscription" />
    <item
        android:id="@+id/Logout_menuitem"
        android:title="Logout" />
</group>

假设我想更改代码(而不是XML)中的顺序,使"Like_menuItem"显示在"Home_menuItem"之上

推荐答案

我没有尝试,但您可能可以按照以下步骤操作。

  1. 首先获取菜单的引用

    navigationView.getMenu()

  2. 以不同的顺序向其中添加或删除特定项目,以获得您的订单

    add(int groupId, int itemId, int order, CharSequence title)

    removeItem(int id)

docs中的详细信息!

这篇关于如何在代码中更改导航视图菜单中菜单项的顺序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Get an event when UIBarButtonItem menu is displayed(显示UIBarButtonItem菜单时获取事件)
UIBarButton won#39;t show in my UINavigationController(UIBarButton不会在我的UINavigationController中显示)