首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在导航抽屉中添加菜单项运行库?

问如何在导航抽屉中添加菜单项运行库?
EN

Stack Overflow用户
提问于 2015-12-29 11:25:56
回答 1查看 2.2K关注 0票数 2

我正在使用来自Android的导航抽屉活动模板。我想在运行时从导航抽屉中的java类中添加菜单项。有可能吗?如果是的话,你能指点我吗?

我想在左边的导航抽屉上显示来自web服务的课程列表。我希望用户点击任何课程,这将打开另一个活动,显示有关所选课程的详细信息。

课程列表及其细节在JSON中。我可以相应地解析json。我只想知道如何动态创建菜单项。

提前感谢你..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-29 12:29:20

是的,您可以在运行时将菜单项添加到导航抽屉中。

从NavigationView布局中删除下面的内容(这会使您的NavigationView菜单膨胀)

代码语言:javascript
复制
app:menu="@menu/activity_main_drawer"

在您的活动中,可以使用

代码语言:javascript
复制
NavigationView navigationView = (NavigationView)findViewById(R.id.nav_view)
navigationView.setNavigationItemSelectedListener(this);

您可以使用以下方法获取导航视图的菜单实例

代码语言:javascript
复制
Menu menu = navigationView.getMenu();

要添加菜单项,可以使用“菜单”实例中提供的任何一种方法

代码语言:javascript
复制
public abstract MenuItem add (CharSequence title)  or 
public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)

例:您可以使用上面的“菜单”实例添加菜单/子菜单,如下所示

代码语言:javascript
复制
menu.add("Title1")
menu.add("Title2")
menu.addsubMenu("Title3").
menu.add("Title4")
... 

为了在用户单击特定菜单项时执行操作,您将实现

代码语言:javascript
复制
onNavigationItemSelected(MenuItem item)

基于

代码语言:javascript
复制
item.getItemId() or item.getText() provided they are unique

你可以实现你的逻辑

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

https://stackoverflow.com/questions/34510012

复制
相关文章

相似问题

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