Der Typ NavController benötigt ein oder mehrere Navigator-Objekte, um den Navigationsvorgang auszuführen. Standardmäßig unterstützt NavController das Verlassen des Navigationsgraphen, indem über die Klasse ActivityNavigator und die verschachtelte Klasse ActivityNavigator.Destination zu einer anderen Aktivität gewechselt wird.
Wenn Sie zu einem anderen Zieltyp wechseln möchten, müssen dem NavController ein oder mehrere zusätzliche Navigator-Objekte hinzugefügt werden. Wenn Sie beispielsweise Fragmente als Ziele verwenden, fügt NavHostFragment der NavController automatisch die Klasse FragmentNavigator hinzu.
Wenn Sie einem NavController ein neues Navigator-Objekt hinzufügen möchten, verwenden Sie die Methode getNavigatorProvider() und dann die Methode addNavigator().
Im folgenden Code wird gezeigt, wie einem NavController ein CustomNavigator-Objekt hinzugefügt wird:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
Die meisten Navigator-Klassen haben eine verschachtelte Zielunterklasse. Mit dieser Unterklasse können Sie zusätzliche Attribute angeben, die für Ihr Ziel einzigartig sind. Weitere Informationen zu Zielunterklassen finden Sie in der Referenzdokumentation für die entsprechende Navigator-Klasse.
Weitere Informationen
Weitere Informationen zur Navigation finden Sie in den folgenden zusätzlichen Ressourcen.