2017-01-07 16 views
-2

FragmentNavigationDrawerボタンでクリックしてから別のボタンに移動すると、ここで欲しいものが無効になります。ナビゲーションドロワーメニューボタンを無効にするにはどうすればいいですか?

addToBackStack();メソッドは、繰り返しクリックするとスタックに複数回追加されるため、だから私は別の断片に移動するときにそれを無効にしたい。

+2

http://stackoverflow.com/a/35818397/4409113また、無効に設定することもできます。 – Mohsen

答えて

0

使用このメニュー項目を無効にするには:メニュー項目のクリックで今すぐ

NavigationView navigationView; 

navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 

を:

Menu menuView= navigationView.getMenu(); 
menuView.getItem(ID).setEnabled(false); 
+0

回答ありがとうございます。今私はその良い方法は、menuItemを無効にすると思います。フラグメントがすでに開いている場合は、addToBackStack()は実行されません。 – user7387275

+0

フラグメントインスタンスを確認してみてください。 nullの場合はフラグメントを開き、そうでない場合はクリックアクションを許可しない –

1

有効にする

drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

を使用したナビゲーション引き出しにトグルボタンを無効にしますの代わりにLOCK_MODE_LOCKED_OPENを使用してください

  1. 引き出しアイテムクリックを無効にするには

    はあなたが(id == R.id.whatevertheitemid)もあなたのようにアクセスを許可するように、ブールを使用してチェックonNavigationItemSelectedに隠れるしたくない場合は、それ

  2. を非表示にすることができますがHide Some Navigation Drawer Menu Item - Androidを参照してください。希望

例えば

if (id == R.id.whatevertheitemid && isAccessGiven) { // do your task 
} 
関連する問題