【发布时间】:2016-12-16 05:01:04
【问题描述】:
在我的应用的 NavigationView 中有几个菜单,但我希望用户只访问特定的菜单。根据用户权限,用户将只能查看其可访问的菜单。所以我创建了返回菜单列表的网络服务。
这里是菜单访问的json输出
[
{
"id": "1",
"appId": "1",
"userId": "1",
"name": "Design List",
"icon": "http://some_website/Demo/images/menu/1.png",
"code": "dsn001"
},
{
"id": "2",
"appId": "1",
"userId": "1",
"name": "Price List",
"icon": "http://some_website/Demo/images/menu/2.png",
"code": "prc002"
},
....]
例如,用户只能访问此菜单。我在应用程序中准备好了一个导航视图。我想将此菜单添加到导航视图。
在android中我为菜单创建了一个模型类
MenuItems.java
public class MenuItems {
public String id;
public String appId;
public String userId;
public String name;
public String icon;
public String code;
}
在 web 服务响应中,我将响应转换为 ArrayList<MenuItems>()
这是网络服务代码。
ArrayList<MenuItems> menuItem = new ArrayList<MenuItems>();
.
.
MenuItems[] items = new Gson().fromJson(response, MenuItems[].class);
for (MenuItems m : items) {
menuItem.add(m);
}
在主要活动中我做了这段代码。
Menu menu = navigationView.getMenu();
if (menuList != null) {
for (MenuItems items : menuList) {
MenuItem menuItem = menu.add(items.name);
menuItem.setIcon(new BitmapDrawable(items.icon));
}
}
但还是不行。
我想在导航视图中显示带有图标的菜单。 我们可以使用 Picaso 库显示图标吗?请帮忙。
【问题讨论】:
-
你的意思是把菜单项添加到你APP的NavigationDrawer吗?
-
你需要做this。
-
@HasifSeyd 是的。我想在 o NavigationDrawer 中添加菜单。
-
@EricB。谢谢,我认为它可能有效。我正在努力。
标签: android menuitem android-navigationview