一个导航抽屉中的多个菜单

问题描述 投票:0回答:2

我正在尝试为不同的用户(访客,会员,管理员)创建一个Android应用程序。我在我的应用程序中使用导航抽屉。我想知道我是否可以为每个用户创建一个菜单。

例:

客人菜单可以有三个项目:登录,注册,联系我们。

会员菜单可以有不同的项目:个人资料,退出。

管理员菜单可以包括:管理帐户,添加新成员。

我想在一个导航抽屉活动中使用所有这些xml菜单。我想根据用户的状态更改它们。有可能吗?

android navigation-drawer
2个回答
0
投票

是的,您可以为特定用户创建每个菜单。例如,如果您有以下菜单:guest_menumember_menuadmin_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
投票

您可以在这里为String Array中的Guest,Member,Admin创建2个不同的数组,或者您可以通过arrayList为这些数组创建。像guestMenuList,memberMenuList,adminMenuList

像这样把条件放在你的Activity中

if(isGuest){

   arrayList =  guestMenuList

}else if(isMember){

   arrayList =  memberMenuList

}else if(){

   arrayList =  adminMenuList

}

并将此列表附加到抽屉适配器。

© www.soinside.com 2019 - 2024. All rights reserved.