Zwischen Bildschirmen navigieren
Navigieren Sie vorwärts und zurück zwischen Zielen.
Zwischen Bildschirmen navigieren ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Weiter vorankommen
Sobald Ihr NavHost eingerichtet ist, wechseln Sie zu einem anderen Bildschirm, indem Sie navigate für den NavController mit der Ziel-Route aufrufen.
navController.navigate("details")Über eine Schaltfläche auslösen
Navigation erfolgt normalerweise in einem Callback, zum Beispiel im onClick einer Schaltfläche.
Button(onClick = { navController.navigate("details") }) {
Text("Open details")
}Der Back Stack
Jeder Aufruf von navigate legt das neue Ziel auf dem Back Stack ab. Die Zurück-Schaltfläche des Systems entfernt es automatisch wieder und kehrt zum vorherigen Bildschirm zurück.
popBackStack
Um programmgesteuert zurückzugehen, beispielsweise über eine eigene „Up“-Schaltfläche, rufen Sie popBackStack auf. Dadurch wird das aktuelle Ziel entfernt und zum vorherigen zurückgekehrt.
navController.popBackStack()navigateUp
navigateUp() funktioniert ähnlich und ist die richtige Wahl für den „Up“-Pfeil in der Toolbar. Dabei wird die Navigationshierarchie berücksichtigt.
navController.navigateUp()Doppelte Ziele vermeiden
Wenn Sie eine Schaltfläche zweimal schnell antippen, kann derselbe Bildschirm zweimal auf den Back Stack gelegt werden. Verwenden Sie launchSingleTop = true, um doppelte Exemplare eines Ziels zu vermeiden.
navController.navigate("details") {
launchSingleTop = true
}popUpTo
popUpTo leert während der Navigation einen Teil des Back Stacks. Das ist beispielsweise nach der Anmeldung nützlich: Wechseln Sie zur Startseite und entfernen Sie den Anmeldebildschirm, damit die Zurück-Schaltfläche nicht dorthin zurückführt.
navController.navigate("home") {
popUpTo("login") { inclusive = true }
}inclusive
inclusive = true bedeutet, dass das Ziel von popUpTo ebenfalls entfernt wird. Bei inclusive = false endet das Entfernen direkt darüber.
Bildschirme entkoppelt halten
Übergeben Sie nicht den gesamten NavController an jeden Bildschirm, sondern Lambdas. Der Bildschirm ruft onOpenDetails() auf und kennt die internen Navigationsdetails nicht.
@Composable
fun HomeScreen(onOpenDetails: () -> Unit) {
Button(onClick = onOpenDetails) { Text("Details") }
}Das Lambda verbinden
Der NavHost verbindet das Lambda mit einem echten Aufruf von navigate. So bleibt die Navigationslogik an einer einzigen Stelle.
composable("home") {
HomeScreen(onOpenDetails = {
navController.navigate("details")
})
}Alles zusammenführen
Die Startseite navigiert zu den Details; von den Details geht es mit dem „Up“-Pfeil zurück.
composable("home") {
HomeScreen(onOpenDetails = { navController.navigate("details") })
}
composable("details") {
DetailsScreen(onBack = { navController.popBackStack() })
}Kurze Überprüfung
Welcher Aufruf bringt den Benutzer programmgesteuert zum vorherigen Bildschirm zurück?
Zusammenfassung
Navigation:
navigate("route")legt ein Ziel auf den Back Stack.popBackStack()/navigateUp()gehen zurück.- Verwenden Sie
launchSingleTopundpopUpTo { inclusive }, um den Stack zu steuern. - Übergeben Sie Lambdas statt des Controllers, damit Bildschirme wiederverwendbar bleiben.
Häufig gestellte Fragen
Ist die Lektion „Zwischen Bildschirmen navigieren“ kostenlos?
Ja — der vollständige Text von „Zwischen Bildschirmen navigieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zwischen Bildschirmen navigieren“?
Navigieren Sie vorwärts und zurück zwischen Zielen. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Android Academy zu starten?
Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Zwischen Bildschirmen navigieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?
Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- NavHost einrichten
- Zwischen Bildschirmen navigieren
- Argumente übergeben
- Untere Navigation