Le type NavController
s'appuie sur un ou plusieurs objets Navigator
pour effectuer l'opération de navigation. Par défaut, NavController
permet de quitter le graphe de navigation en accédant à une autre activité à l'aide de la classe ActivityNavigator
et de sa classe ActivityNavigator.Destination
imbriquées.
Pour accéder à n'importe quel autre type de destination, un ou plusieurs objets Navigator
supplémentaires doivent être ajoutées au NavController
. Par exemple, lorsque vous utilisez des fragments comme destinations, NavHostFragment
ajoute automatiquement la classe FragmentNavigator
à son NavController
.
Pour ajouter un objet Navigator
à un NavController
, utilisez la méthode getNavigatorProvider()
, suivie de la méthode addNavigator()
.
Le code suivant montre un exemple d'ajout d'un objet CustomNavigator
à un NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
La plupart des classes Navigator
ont une sous-classe de destination imbriquée. Cette sous-classe peut être utilisée pour spécifier des attributs supplémentaires propres à votre destination. Pour en savoir plus sur les sous-classes de destination, consultez la documentation de référence sur la classe Navigator
appropriée.
Ressources supplémentaires
Pour en savoir plus sur la navigation, consultez les ressources supplémentaires suivantes.