Hallo,
ich habe hier Contextmenu-Items, die unter bestimmten Bedingungen disabled gesetzt werden sollen.
Und genau hier ist der Knackpunkt. Es tut sich nichts.
Die Suchergebnisse sind sich einig, dass die Deaktivierung im onPrepareOptionsMenu() erfolgen soll.
Das führt dazu, dass das Menü weiterhin aufploppt, jedes Item anklickbar ist und das Klick-Ereignis ausgeführt wird.
Wie handhabt ihr das so?
ich habe hier Contextmenu-Items, die unter bestimmten Bedingungen disabled gesetzt werden sollen.
Und genau hier ist der Knackpunkt. Es tut sich nichts.
Die Suchergebnisse sind sich einig, dass die Deaktivierung im onPrepareOptionsMenu() erfolgen soll.
Java:
@Override
public boolean onContextItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.menuItem1) {
Toast.makeText(this, "Item1", Toast.LENGTH_SHORT).show();
} else if (item.getItemId() == R.id.menuItem2) {
Toast.makeText(this, "Item2", Toast.LENGTH_SHORT).show();
} else
return super.onContextItemSelected(item);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.menuItem2).setEnabled(false);
//menu.findItem(R.id.menuItem2).setOnMenuItemClickListener(null);
return true;
}
Das führt dazu, dass das Menü weiterhin aufploppt, jedes Item anklickbar ist und das Klick-Ereignis ausgeführt wird.
Wie handhabt ihr das so?