Ajouter de nouveaux types de destinations

Stay organized with collections Save and categorize content based on your preferences.

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.

Exemples

Ateliers de programmation

Vidéos