В 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;
}
В ответе веб-службы я преобразовал ответ в 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? пожалуйста помоги.