gpt4 book ai didi

java - 如何在抽屉导航中添加菜单项运行时?

转载 作者:搜寻专家 更新时间:2023-11-01 07:51:26 26 4
gpt4 key购买 nike

我正在使用 Android Studio 中的抽屉导航 Activity 模板。我想在运行时从抽屉导航中的 java 类添加菜单项。是否可以 ?如果可以,请指导我。

我想在左侧抽屉导航中显示来自 Web 服务的类(class)列表。我希望用户点击任何类(class),这将打开另一个 Activity ,显示有关所选类(class)的详细信息。

类(class)列表及其详细信息以 JSON 格式提供。我可以相应地解析 json。我只想知道如何动态创建菜单项。

提前谢谢你..

最佳答案

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

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

app:menu="@menu/activity_main_drawer"

在您的 Activity 中,您可以使用

获取导航实例
NavigationView navigationView = (NavigationView)findViewById(R.id.nav_view)
navigationView.setNavigationItemSelectedListener(this);

您可以使用

获取导航 View 的菜单实例
Menu menu = navigationView.getMenu();

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

public abstract MenuItem add (CharSequence title)  or 
public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)

例如:您可以像这样使用上面的“菜单”实例添加菜单项/子菜单

menu.add("Title1")
menu.add("Title2")
menu.addsubMenu("Title3").
menu.add("Title4")
...

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

onNavigationItemSelected(MenuItem item)

基于

item.getItemId() or item.getText() provided they are unique

你可以实现你的逻辑

关于java - 如何在抽屉导航中添加菜单项运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com