2015-10-09 70 views
1

我添加項目NavigationView編程:添加菜單項以編程NavigationView - 項目未籤

**HERE ADD ITEMS**  

Menu rightMenu = mRightDrawerView.getMenu(); 
for (DataParking dataParking : dataParkingList) { 
    MenuItem menuItem = rightMenu.add(dataParking.getTimeParking()); 
} 

**HERE ADD CLICK LISTENER** 

mRightDrawerView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { 
     @Override 
     public boolean onNavigationItemSelected(MenuItem menuItem) { 
      // Select menu 
      menuItem.setChecked(true); 

      // Closing left_drawer on item click 
      mDrawerLayout.closeDrawer(mRightDrawerView); 

      return false; 
     } 
    }); 

在抽屜式導航欄中的項目是正確的點擊,但選擇不具有持續性。如果我通過XML添加相同的項目一切正常。

回答

4

以編程方式添加項目時,該項目的可檢查標誌未設置。您應該只添加以下行:

menuItem.setCheckable(true); 

將項目添加到菜單後。

0

由於@Oncky回答,您可以只設置chechable你的菜單項是這樣的:

Menu rightMenu = mRightDrawerView.getMenu(); 
for (DataParking dataParking : dataParkingList) { 
    MenuItem menuItem = rightMenu.add(dataParking.getTimeParking()).setCheckable(true); 
} 
相關問題