2016-02-26 213 views
4

我想隱藏在抽屜式導航菜單的菜單項,並顯示它取決於根據以下菜單碼使用應用程序的用戶的類型,則返回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); 
+0

您是否嘗試過使用'menu.findItem(R.id.nav_target)'? – droid8421

+0

@ droid8421不,我沒有,因爲我需要聲明菜單。 –

+0

你嘗試http://stackoverflow.com/a/29239511/3549047 – king

回答

18

通過創建一個固定它菜單和使用

menu.findItem(R.id.nav_target) 

as @ 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);