Navigations-Controller erstellen

Der Navigationscontroller ist eines der wichtigen Konzepte der Navigation. Es enthält die Navigationsgrafik und stellt Methoden bereit, mit denen sich Ihre App bewegen kann zwischen den Zielen in der Grafik.

Wenn Sie die Navigationskomponente verwenden, erstellen Sie einen Navigations-Controller. mit der Klasse NavController. NavController ist die zentrale Navigations-API verwenden. Er erfasst, welche Ziele der Nutzer besucht hat, und ermöglicht zwischen Zielen hin und her wechseln. In diesem Leitfaden wird gezeigt, wie Sie ein NavController in deiner App.

Informationen zum Hinzufügen eines Navigationsdiagramms zu NavController findest du unter Entwerfen Sie das Navigationsdiagramm. NavController bietet verschiedene Möglichkeiten um zu den Zielen in der Grafik zu navigieren. Weitere Informationen finden Sie unter Zu einem Ziel.

Schreiben

Um bei der Verwendung von Jetpack Compose eine NavController zu erstellen, rufen Sie rememberNavController():

val navController = rememberNavController()

Erstellen Sie die NavController weiter oben in Ihrer zusammensetzbaren Hierarchie. Es muss hoch genug sein, damit alle zusammensetzbaren Funktionen, die darauf verweisen müssen, tun Sie dies.

Auf diese Weise können Sie die NavController als zentrale Informationsquelle für wenn Sie die zusammensetzbaren Funktionen außerhalb Ihrer Bildschirme aktualisieren. Dies entspricht den Prinzipien Zustandswinden.

Aufrufe

Wenn Sie das Views-UI-Framework verwenden, können Sie Ihren NavController abrufen. Verwenden Sie dazu je nach Kontext eine der folgenden Methoden:

Kotlin:

Java:

Üblicherweise erhalten Sie zuerst einen NavHostFragment und rufen dann den NavController aus dem Fragment. Das folgende Snippet veranschaulicht dies:

Kotlin

val navHostFragment =
    supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

Java

NavHostFragment navHostFragment =
    (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();

Weitere Informationen

  • Navigationsdiagramm entwerfen:Eine Anleitung, die beschreibt, wie Sie eine Grafik hinzufügen. zu Ihrer NavController, die alle Ziele in Ihrer App enthält.
  • Zu einem Ziel navigieren:Eine Anleitung zur Verwendung des NavController, um zwischen Zielen in der Navigationsgrafik zu wechseln.