Несколько меню в одном навигационном ящике - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь создать приложение для Android для разных пользователей (Гость, Пользователь, Администратор).Я использую навигационный ящик в своем приложении.Мне интересно, могу ли я создать меню для каждого пользователя.

Пример:

В гостевом меню может быть три пункта: войти, зарегистрироваться, связаться с нами.

Меню участника может иметь различные пункты: Профиль, Выйти.

Меню администратора может иметь: Управление учетными записями, Добавление новых участников.

Я хочу все эти xml-менюв одном окне навигации деятельности.и я хочу изменить их в зависимости от статуса пользователя.Возможно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Да, вы можете создать каждое меню для конкретного пользователя.Например, если у вас есть следующее меню: guest_menu, member_menu и admin_menu.Вы можете легко использовать меню с чем-то вроде этого:

// clear previous menu
navigationView.getMenu().clear();

switch (id) {
  case guest:
    navigationView.inflateMenu(R.menu.guest_menu);
    break;
  case member:
   navigationView.inflateMenu(R.menu.member_menu);
   break;
  case admin:
   navigationView.inflateMenu(R.menu.admin_menu);
   break;

}
0 голосов
/ 04 марта 2019

Здесь вы можете сделать 2 разных массива для гостя, члена, администратора в вашем массиве строк или вы можете создать массив для них.Как guestMenuList, memberMenuList, adminMenuList

Поместите условие в свою активность следующим образом

if(isGuest){

   arrayList =  guestMenuList

}else if(isMember){

   arrayList =  memberMenuList

}else if(){

   arrayList =  adminMenuList

}

И прикрепите этот список в адаптер ящика.

...