Der Typ NavController
benötigt ein oder mehrere Navigator
-Objekte, um den Navigationsvorgang auszuführen. Standardmäßig unterstützt NavController
das Verlassen des Navigationsdiagramms, indem es mit der Klasse ActivityNavigator
und der verschachtelten Klasse ActivityNavigator.Destination
zu einer anderen Aktivität navigiert.
Wenn Sie zu einem anderen Zieltyp navigieren möchten, müssen Sie dem NavController
ein oder mehrere zusätzliche Navigator
-Objekte hinzufügen. Wenn Sie beispielsweise Fragmente als Ziele verwenden, wird die Klasse FragmentNavigator
von NavHostFragment
automatisch zu NavController
hinzugefügt.
Wenn Sie einem NavController
ein neues Navigator
-Objekt hinzufügen möchten, verwenden Sie die Methode getNavigatorProvider()
gefolgt von der Methode addNavigator()
.
Der folgende Code zeigt ein Beispiel für das Hinzufügen eines CustomNavigator
-Objekts zu einem NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
Die meisten Navigator
-Klassen haben eine verschachtelte abgeleitete Zielklasse. Mit dieser abgeleiteten Klasse können Sie zusätzliche Attribute angeben, die für Ihr Ziel eindeutig sind. Weitere Informationen zu abgeleiteten Zielen finden Sie in der Referenzdokumentation zur entsprechenden Navigator
-Klasse.
Weitere Informationen
Weitere Informationen zur Navigation finden Sie in den folgenden Ressourcen.