android – 如何以编程方式将组添加到导航抽屉

android – 如何以编程方式将组添加到导航抽屉,第1张

概述我的 Android应用程序中有一个导航抽屉.我可以通过XML添加组和项目,但是,我需要以编程方式向其添加新组. 例如,我有这个XML: <group android:checkableBehavior="single"> <item android:id="@+id/nav_camara" android:icon="@android:drawable/ic_menu_camera" 我的 Android应用程序中有一个导航抽屉.我可以通过XML添加组和项目,但是,我需要以编程方式向其添加新组.

例如,我有这个XML:

<group androID:checkableBehavior="single">    <item androID:ID="@+ID/nav_camara" androID:icon="@androID:drawable/ic_menu_camera"        androID:title="import" />    <item androID:ID="@+ID/nav_gallery" androID:icon="@androID:drawable/ic_menu_gallery"        androID:title="gallery" />    <item androID:ID="@+ID/nav_slIDeshow" androID:icon="@androID:drawable/ic_menu_slIDeshow"        androID:title="SlIDeshow" />    <item androID:ID="@+ID/nav_manage" androID:icon="@androID:drawable/ic_menu_manage"        androID:title="Tools" /></group>

如果该组没有项目并且我需要通过代码添加它们,我该怎么办呢?

如果我使用:

Menu sistemas = navigationVIEw.getMenu();sistemas.add(Menu.FirsT,1,"Prueba");

该项目将作为菜单添加到所有选项下方,而不是作为一个组.

问候,
海梅

解决方法 如果您想坚持使用NavigationVIEw,我最好的建议是执行以下 *** 作:

设置XML以包含您认为需要动态添加的任何组并将其设置为不可见:

<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools" tools:context=".MainActivity">    <group androID:ID="@+ID/main_group">         <item androID:ID="@+ID/nav_camara"             androID:icon="@androID:drawable/ic_menu_camera"             androID:title="import" />         <item androID:ID="@+ID/nav_gallery"              androID:icon="@androID:drawable/ic_menu_gallery"             androID:title="gallery" />         <item androID:ID="@+ID/nav_slIDeshow"              androID:icon="@androID:drawable/ic_menu_slIDeshow"             androID:title="SlIDeshow" />         <item androID:ID="@+ID/nav_manage"              androID:icon="@androID:drawable/ic_menu_manage"             androID:title="Tools" />    </group>    <group androID:visible="false" androID:ID="@+ID/second_group">    </group>    <group androID:visible="false" androID:ID="@+ID/third_group">    </group></menu>

然后,当您需要显示它们或为这些组添加动态选项时:

Menu menu = mNavVIEw.getMenu();      // Add items to the second group,and set to visible      menu.add(R.ID.second_group,100,"Item 1");      menu.add(R.ID.second_group,2,200,"Item 2");      menu.add(R.ID.second_group,3,300,"Item 3");      menu.setGroupCheckable(R.ID.second_group,true,true);      menu.setGroupVisible(R.ID.second_group,true);      // Add items to the third group,and set to visible      menu.add(R.ID.third_group,4,400,"Item 1");      menu.add(R.ID.third_group,5,500,"Item 2");      menu.add(R.ID.third_group,6,600,"Item 3");      menu.setGroupCheckable(R.ID.third_group,true);      menu.setGroupVisible(R.ID.third_group,true);

只需确保在添加商品时,商品ID不同,类别中的订单是整个动态商品菜单中的实际订单.

总结

以上是内存溢出为你收集整理的android – 如何以编程方式将组添加到导航抽屉全部内容,希望文章能够帮你解决android – 如何以编程方式将组添加到导航抽屉所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存