Les NavControllers
s'appuient sur un ou plusieurs objets Navigator
pour effectuer l'opération de navigation. Par défaut, tous les NavControllers
permettent de quitter le graphe de navigation en accédant à une autre activité à l'aide d'ActivityNavigator
et de sa classe ActivityNavigator.Destination
imbriquée. Pour pouvoir accéder à n'importe quel autre type de destination, un ou plusieurs objets Navigator
supplémentaires doivent être ajoutés 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
, vous devez utiliser la méthode getNavigatorProvider()
de la classe NavController
, suivie de la méthode addNavigator()
de cette classe.
Le code suivant montre un exemple d'ajout d'un objet CustomNavigator
fictif à 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.