我想以编程方式将项目添加到导航抽屉。我将此XML用于导航抽屉:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/nav_group"
android:checkableBehavior="single">
<item
android:id="@+id/nav_item1"
android:title="@string/nav_text_item1" />
<item
android:id="@+id/nav_item2"
android:title="@string/nav_text_item2" />
</group>
<group
android:id="@+id/nav_group2"
android:checkableBehavior="single">
<item android:id="@+id/nav_menu" android:title="History">
<menu>
<!-- Add Items here-->
</menu>
</item>
</group>
<group
android:id="@+id/nav_group3"
android:checkableBehavior="single">
<item
android:id="@+id/nav_item3"
android:title="@string/nav_text_item3" />
<item
android:id="@+id/nav_item4"
android:title="@string/nav_text_item4" />
</group>
我想在开始时显示没有任何项目的“历史”类别,然后在以后将项目添加到该类别。但是我该怎么做呢?我可以将项目和子菜单添加到列表的末尾,但不能添加到中间。感谢您的任何帮助。
使用Menu.addSubMenu创建菜单组,并使用Menu.add添加菜单项。
NavigationView navView = (NavigationView) findViewById(R.id.your_nav_view_id);
Menu m = navView.getMenu();
SubMenu menuGroup = m.addSubMenu("My menu group");
menuGroup .add("Foo");
menuGroup .add("Bar");
或者,如果您不想使用菜单组,则直接添加到菜单中
NavigationView navView = (NavigationView) findViewById(R.id.your_nav_view_id);
Menu m = navView.getMenu();
MenuItem foo_menu_item=m.add("foo");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句