.setEnabled()を使用してオプションメニューボタンを有効/無効にしますか?
-
28-10-2019 - |
質問
私はこのようなことをしようとしています:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
//multiListener = false;
menu.add(0,START_DELETE,0, "Delete selected..").setEnabled(multiListener);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.multiselect:
if(multiselect == 0) { multiselect = 1;
multiListener = true;
Log.d("DH", "index="+multiListener);
}
else if(multiselect == 1) { multiselect = 0; multiListener = false;
Log.d("DH", "index="+multiListener);
}
fillData();
return true;
case START_DELETE:
Toast.makeText(Notepadv3.this, "Pressed delete", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
基本的に、multilistener = trueの場合; 「削除した選択を削除します。」とプレス可能な場合は、グレーを灰色にします...
このシンプルなこと、私と一緒に運動したくない、
どういうわけか...ボタンは常にグレイアウトされていますが、ログには本当です...
誰でも、何かを知っていますか?
解決
電話する必要があります setEnabled()
繰り返しますが、アイテムの状態を変更します。その状態は変数にバインドしません。この方法は、呼び出す必要があります onPrepareOptionsMenu()
.
所属していません StackOverflow