Hey folks, ich versuche einige Runner zum nichts tun zu verdonnern wenn mein Optionsmenu geöffnet ist und umgekehrt. Mein Optionsmenu erstelle ich im code, und ganz ohne Layout.xml file.
In der Methode onPrepareOptionsMenu(menu menu)
Java
public boolean onPrepareOptionsMenu(Menu menu) {
showingMenu = true;
// If the nav drawer is open, hide action items related to the content view
boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
// menu.findItem(R.id.action_websearch).setVisible(!drawerOpen);
menu.clear();
menu.add(0, 1, Menu.NONE, PResText.getString("connections"));
menu.add(0, 2, Menu.NONE, PResText.getString("Sprachumstellung"));
menu.add(0, 3, Menu.NONE, Variables.loggedInIpAddress + " , " + Variables.loggedInUserName /*+ " - " + Variables.locale.toString()).setEnabled(false*/);
MenuItem item = menu.getItem(2);
SpannableString s = new SpannableString(item.getTitle());
s.setSpan(new ForegroundColorSpan(Color.GRAY), 0, s.length(), 0);
item.setTitle(s);
return super.onPrepareOptionsMenu(menu);
}
Alles anzeigen
Als ich ein bischen nachgeforscht hab, hab ich entdeckt das es eine namentlich passende Methode gibt die zu meiner gewünschten Funktion passen würde -> onOptionsMenuClosed(Menu menu)
Diese wird aber seltsamerweise nie aufgerufen, weder wenn ich die Optionstaste ein zweites mal drücke damit das OptionsMenu wieder verschwindet, noch wenn ich die "Back"Taste benutze, noch wenn ich ein Item auf dem OptionsMenu auswähle.
Kann mir vielleicht einer sagen warum ? Ich dachte der Name ist Programm !