Ich habe eine Navigationsleiste mit mehreren Menüpunkten. Ich versuche, das Menüsymbol und die Textfarbe eines der Menüelemente dynamisch zu ändern. Folgende Code ist in onCreate()
einer der Aktivitätsklassen, die die Navigationsleiste haben:Einstellung der Symbole zu den Menüpunkten
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
changeItemWiseTextProperties(navigationView.getMenu());
Und hier ist die Methodendefinition:
public void changeItemWiseTextProperties(Menu menu) {
menu.findItem(R.id.nav_testing).
setTitle(Html.fromHtml("<font color='#3b9ada'>Testing</font>"));
menu.findItem(R.id.nav_testing).
setIcon(ContextCompat.getDrawable(this,R.drawable.icon_testing_activated));
}
Obwohl ich den Titelnamen und Schriftfarbe des Menüs einstellen erfolgreich, aber das Menüsymbol hat keine Auswirkungen. Ich kann das nicht ändern. Wieso ist es so?
Verwendung invalidateOptionsMenu(); zum Aktualisieren des Menüs –
@JhamanDas, versuchte das. Es hat nicht funktioniert. Ich habe es nach dem Setzen des Menüsymbols in der 'changeItemWiseTextProperties()' Methode platziert –