我在 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 中的顺序)以使“Likes_menuitem”显示在“Home_menuitem”上方
我没有尝试过,但您可能可以按照以下步骤操作。
-
首先获取菜单参考
navigationView.getMenu()
-
以不同的顺序向其中添加或删除特定项目,以实现您的目标order.
add(int groupId, int itemId, int order, CharSequence title)
removeItem(int id)
更多信息请参见docs https://developer.android.com/reference/android/view/Menu.html#add%28int,%20int,%20int,%20java.lang.CharSequence%29!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)