2016-07-12 57 views
2

Wie kann ich das aktuell ausgewählte Element der Navigationsleiste abrufen? Mein Menü in drawer_menu.xmlAktuelles Element der Navigationsschublade in Android abrufen

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

Dein Code sollte funktionieren, was passiert? –

Antwort

6

Zum Beispiel gespeichert ist, können Sie verwenden:

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

Sie herausfinden können, ob ein Element Strom mit dieser ausgewählt ist:

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