Argumente übergeben
Übergeben Sie Daten an ein Ziel.
Argumente übergeben ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Daten zwischen Bildschirmen übergeben
Oft benötigt ein Ziel Daten, etwa die ID des anzuzeigenden Elements. In Navigation Compose codieren Sie Argumente direkt in der Route, ähnlich wie bei einer URL.
Route mit Platzhalter
Definieren Sie einen Platzhalter in der Route mit geschweiften Klammern. Hier ist {id} ein Argument mit dem Namen id.
composable("details/{id}") { backStackEntry ->
// read id here
}Den Argumenttyp deklarieren
Geben Sie dem Navigator den Typ des Arguments mit arguments und navArgument an. Der Wert wird dadurch für Sie validiert und konvertiert.
composable(
"details/{id}",
arguments = listOf(navArgument("id") { type = NavType.IntType })
) { /* ... */ }NavType
NavType legt den Datentyp des Arguments fest – IntType, StringType, BoolType und weitere. Der Navigator wertet den Routenwert entsprechend aus.
Das Argument auslesen
Das Lambda des Ziels stellt Ihnen einen backStackEntry bereit. Lesen Sie Argumente aus backStackEntry.arguments aus.
composable(
"details/{id}",
arguments = listOf(navArgument("id") { type = NavType.IntType })
) { backStackEntry ->
val id = backStackEntry.arguments?.getInt("id") ?: 0
DetailsScreen(id = id)
}Mit einem Wert navigieren
Um den Bildschirm zu öffnen, erstellen Sie die Routen-Zeichenfolge und ersetzen den Platzhalter durch den tatsächlichen Wert.
navController.navigate("details/42")Die Route sicher erstellen
Verwenden Sie String-Templates, um den Wert einzufügen. Achten Sie darauf, dass das Pfadsegment genau der deklarierten Route entspricht.
val itemId = 42
navController.navigate("details/$itemId")Optionale Argumente
Optionale Argumente verwenden eine Abfragestring-Syntax mit ?name=value und einem defaultValue. Sie können bei der Navigation weggelassen werden.
composable(
"search?query={query}",
arguments = listOf(navArgument("query") {
defaultValue = ""
})
) { /* ... */ }Bei String-Argumenten ist Vorsicht geboten
String-Argumente müssen URL-sicher sein. Übergeben Sie keinen langen Text und keine Schrägstriche über Routen. Verwenden Sie dafür vorzugsweise ein gemeinsam genutztes ViewModel oder ein Repository, das über eine ID angesprochen wird.
IDs statt Objekte übergeben
Bewährte Vorgehensweise: Übergeben Sie eine kleine Kennung, etwa eine Element-ID, über die Route und laden Sie anschließend das vollständige Objekt auf dem Zielbildschirm. Serialisieren Sie keine großen Objekte in Routen.
Alles zusammenführen
Eine Liste navigiert zu einem Detailbildschirm und übergibt die ausgewählte ID.
composable("list") {
ListScreen(onItemClick = { id ->
navController.navigate("details/$id")
})
}
composable(
"details/{id}",
arguments = listOf(navArgument("id") { type = NavType.IntType })
) { entry ->
val id = entry.arguments?.getInt("id") ?: 0
DetailsScreen(id = id)
}Kurze Überprüfung
Wie deklarieren Sie ein erforderliches Integer-Argument mit dem Namen id in einer Route?
Zusammenfassung
Argumente übergeben:
- Fügen Sie eine
{placeholder}-Angabe in die Route ein. - Deklarieren Sie den Typ mit
navArgument+NavType. - Lesen Sie das Argument aus
backStackEntry.argumentsaus. - Navigieren Sie mit dem eingesetzten Wert; übergeben Sie kleine IDs statt großer Objekte.
Lerne Kotlin mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 36
- Lektionen
- 152
Häufig gestellte Fragen
Ist die Lektion „Argumente übergeben“ kostenlos?
Ja — der vollständige Text von „Argumente übergeben“ 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 „Argumente übergeben“?
Übergeben Sie Daten an ein Ziel. 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 3 von 4.
Wie lange dauert die Lektion „Argumente übergeben“?
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