如何以编程方式隐藏导航抽屉菜单项?

Con*_*ody 5 android menuitem android-studio navigation-drawer

我想隐藏导航抽屉菜单中的菜单项并根据使用应用程序的用户类型显示它,根据下面的代码菜单项返回null:

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open,R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    MenuItem target = (MenuItem)drawer.findViewById(R.id.nav_target);

    target.setVisible(false);
Run Code Online (Sandbox Code Playgroud)

Con*_*ody 27

通过创建菜单和使用来修复它

menu.findItem(R.id.nav_target)
Run Code Online (Sandbox Code Playgroud)

正如@ droid8421所说.

固定代码:

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

Menu menu =navigationView.getMenu();

MenuItem target = menu.findItem(R.id.nav_target);

target.setVisible(false);
Run Code Online (Sandbox Code Playgroud)