Unterstützung für neue Zieltypen hinzufügen

Typ NavController basiert auf mindestens einem Navigator auszuführende Objekte mit der Navigation. Standardmäßig unterstützt NavController das Behalten des indem Sie mithilfe der ActivityNavigator und ihre verschachtelten ActivityNavigator.Destination .

Für die Navigation zu anderen Arten von Zielen: eine oder mehrere zusätzliche Navigator Objekte müssen zum NavController hinzugefügt werden. Wenn Sie beispielsweise Fragmente als Ziele, die NavHostFragment fügt automatisch den Parameter FragmentNavigator -Klasse zu NavController hinzu.

Um einem NavController-Element ein neues Navigator-Objekt hinzuzufügen, verwenden Sie die Methode getNavigatorProvider() , gefolgt von der 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 Zielunterklasse. Diese abgeleitete Klasse kann kann verwendet werden, um zusätzliche Attribute anzugeben, die für Ihr Ziel eindeutig sind. Weitere Informationen Informationen zu abgeleiteten Zielklassen finden Sie in der Referenzdokumentation zu Entsprechende(s) Navigator .

Weitere Informationen

Weitere Informationen zur Navigation finden Sie zusätzliche Ressourcen.

Produktproben

Codelabs

Videos