Fragment
をNavigationDrawer
ボタンでクリックしてから別のボタンに移動すると、ここで欲しいものが無効になります。ナビゲーションドロワーメニューボタンを無効にするにはどうすればいいですか?
addToBackStack();
メソッドは、繰り返しクリックするとスタックに複数回追加されるため、だから私は別の断片に移動するときにそれを無効にしたい。
Fragment
をNavigationDrawer
ボタンでクリックしてから別のボタンに移動すると、ここで欲しいものが無効になります。ナビゲーションドロワーメニューボタンを無効にするにはどうすればいいですか?
addToBackStack();
メソッドは、繰り返しクリックするとスタックに複数回追加されるため、だから私は別の断片に移動するときにそれを無効にしたい。
使用このメニュー項目を無効にするには:メニュー項目のクリックで今すぐ
NavigationView navigationView;
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
を:
Menu menuView= navigationView.getMenu();
menuView.getItem(ID).setEnabled(false);
回答ありがとうございます。今私はその良い方法は、menuItemを無効にすると思います。フラグメントがすでに開いている場合は、addToBackStack()は実行されません。 – user7387275
フラグメントインスタンスを確認してみてください。 nullの場合はフラグメントを開き、そうでない場合はクリックアクションを許可しない –
有効にする
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
を使用したナビゲーション引き出しにトグルボタンを無効にしますの代わりにLOCK_MODE_LOCKED_OPEN
を使用してください
はあなたが(id == R.id.whatevertheitemid)
もあなたのようにアクセスを許可するように、ブールを使用してチェックonNavigationItemSelected
に隠れるしたくない場合は、それ
例えば
if (id == R.id.whatevertheitemid && isAccessGiven) { // do your task
}
http://stackoverflow.com/a/35818397/4409113また、無効に設定することもできます。 – Mohsen