在我的應用的NavigationView中有幾個菜單,但我只想讓用戶訪問特定的菜單。根據用戶權限,用戶只能查看他的可訪問菜單。所以我創建了返回菜單列表的webservice。Android:在NavigationView中實實在在地從webservice中添加menuItem
這裏是菜單訪問
[
{
"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"
},
....]
例如用戶JSON輸出僅具有該菜單的訪問。我在應用程序中準備好了導航視圖。我想將這個菜單添加到navigationview。
在機器人我創建的模型類菜單
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>()
這裏是web服務的代碼。
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? –
你需要做[這個](http://stackoverflow.com/questions/30978114/add-a-listview-or-recyclerview-to-new-navigationview)。 –
@HasifSeyd是的。我想在NavigationDrawer中添加菜單。 –