Ich benutze für meine Anwendung die Navigationsschublade, die Sie im Android Studio hinzufügen können und ich habe einige Menüeinträge in die Nav-Schublade hinzugefügt (siehe Codeblock). Wenn ich das erste Element (nav_home) oder das zweite Element drücke, markiert das Navigationsfach den aktuell gedrückten Gegenstand.Navigations-Schublade, um das ausgewählte Objekt zu markieren
Wenn ich den Punkt „nav_information“ Taste oder ein anderes Element drücken, das neue (angeklickt) Fragment opend und keine Markierung sichtbar ist (zu Hause oder das zweite Element markiert noch)
Kurz, nur die ersten Artikel zeigt Hervorhebung an ausgewählten Objekten.
<?xml version="1.0" encoding="utf-8"?>
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_home_black"
android:title="Startseite" />
<item android:id="@+id/nav_greetings"
android:title="Grußwort"/>
</group>
<group android:checkableBehavior="single">
<item android:title="Neuigkeiten">
<menu >
<item
android:id="@+id/nav_information"
android:icon="@drawable/ic_info_black"
android:title="@string/title_activity_aktuelles" />
</menu>
</item>
</group>
....
So behandle ich die Öffnung der Fragmente.
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
Fragment myFragment = null;
if (id == R.id.nav_home) {
drawer.setSelected(true);
myFragment = new MainScreen();
}else if (id == R.id.nav_greetings){
myFragment = new Greetings();
} else if (id == R.id.nav_information) {
myFragment = new Aktuelles();
} else if (id == R.id.nav_directions) {
myFragment = new Anfahrt();
} else if (id == R.id.nav_basilika) {
myFragment = new Rundabout();
} else if (id == R.id.nav_download) {
myFragment = new Downloads();
} else if (id == R.id.nav_history) {
myFragment = new History();
}else if(id == R.id.nav_hauptwallfahrt){
myFragment = new Hauptwallfahrt();
}else if (id == R.id.nav_themenwallfahrt){
myFragment = new Themenwallfahrt();
}else if (id == R.id.nav_pilgergruppen){
myFragment = new Pilgergruppen();
}else if (id ==R.id.nav_wallfahrtgodi){
myFragment = new Wallfahrtsgottesdienste();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
// Replace the requestet Fragment
ft.replace(R.id.container, myFragment) ;
ft.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
Gibt es eine Möglichkeit, die Hervorhebung zu "aktivieren"?
Vielen Dank im Voraus!
Dies funktioniert nicht mehr – Denny
Das ist für mich gearbeitet –