Guten Abend,
in meinem Programm habe ich ein seitliches Menü, in welchem sich zur Zeit ein MenuItem mit Icon befindet. Das funktioniert auch soweit.
Jetzt möchte ich im onCreateOptionsMenu den Titel des MenuItems ändern, das funktioniert nicht.
Es gibt keine Fehlermeldung, aber der Titel bleibt unverändert.
Wenn ich denselben Code in onNavigationItemSelected aufrufe, passiert ebenfalls nichts.
Rufe ich setTitle von dem in onNavigationItemSelected übergebenen Item auf, wird Titel wie gewünscht geändert.
Auszug aus Main.java:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.drawer_menu, menu);
menu.findItem(R.id.menu_test).setTitle("START"); // funktioniert nicht
menu.getItem(0).setTitle("START 2"); // funktioniert auch nicht
thismenu = menu;
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
menuItem.setTitle("TEST"); // funktioniert
MenuItem item = thismenu.findItem(R.id.menu_test);
item.setTitle("TEST 2"); // funktioniert nicht (der am Ende angezeigte Titel ist "TEST")
return true;
}
Alles anzeigen
Auszug aus drawer_menu.xml:
<item android:title="Überschrift">
<menu>
<item
android:id="@+id/menu_test"
android:icon="@drawable/ic_yes"
android:title="title" />
</menu>
</item>
Woran kann das liegen? Wie kann ich den Titel von MenuItems im onCreateOptionsMenu ändern?
Die ItemIds von menuItem und item sind identisch, daher müssten die Items doch identisch sein oder? Oder gibt es einen Unterschied zwischen den beiden MenuItems, obwohl sie die gleiche ID haben?
Oder muss ein MenuItem generell anders aufgerufen werden?
Vielen Dank im Vorraus!
(Ich hoffe, mein geposteter Code reicht aus, mein Programm ist zu groß, um es hier vollständig zu posten.)
Viele Grüße,
Len