2016-07-12 4 views
2

Как я могу получить текущий выбранный элемент навигационного ящика? Мое меню хранится в drawer_menu.xmlПолучить текущий выбранный элемент навигационного ящика в Android

navigationView = (NavigationView) findViewById(R.id.navigation_view); 
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { 
     @Override 
     public boolean onNavigationItemSelected(MenuItem item) { 
      switch (item.getItemId()) { 
       case R.id.change_sec: 
        Intent intent_sec = new Intent(MainActivity.this, ClassDataProvider.class); 
        startActivityForResult(intent_sec, 9); 
        drawerLayout.closeDrawers(); 
        break; 
       case R.id.holiday_list: 
        Intent intent = new Intent(MainActivity.this, HolidayList.class); 
        startActivity(intent); 
        drawerLayout.closeDrawers(); 
        break; 
      } 
      return true; 
     } 
    }); 
+0

Ваш код должен работать, что происходит? –

ответ

6

Например, вы можете использовать:

private int getCheckedItem(NavigationView navigationView) { 
    Menu menu = navigationView.getMenu(); 
    for (int i = 0; i < menu.size(); i++) { 
     MenuItem item = menu.getIndex(i); 
     if (item.isChecked()) { 
      return i; 
     } 
    } 

    return -1; 
} 
2

Вы можете узнать, если элемент тока выбран с этим:

if(navigationView.getMenu().findItem(R.id.nav_item).isChecked()) 
//do some stuff 

 Смежные вопросы

  • Нет связанных вопросов^_^