2016-07-12 1 views
2

現在選択されているナビゲーションドロワーのアイテムを取得するにはどうすればよいですか?マイメニュー例えばdrawer_menu.xmlAndroidのナビゲーションドロワーの現在選択されているアイテムを取得

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 
関連する問題