Unterstützung für neue Zieltypen hinzufügen

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.

Codelabs

Videos