Il tipo NavController si basa su uno o più oggetti Navigator per eseguire l'operazione di navigazione. Per impostazione predefinita, NavController consente di uscire dal grafico di navigazione passando a un'altra attività utilizzando la classe ActivityNavigator e la relativa classe ActivityNavigator.Destination nidificata.
Per passare a qualsiasi altro tipo di destinazione, è necessario aggiungere uno o più oggetti Navigator
al NavController. Ad esempio, quando utilizzi i frammenti come destinazioni, il NavHostFragment aggiunge automaticamente la classe FragmentNavigator al proprio NavController.
Per aggiungere un nuovo oggetto Navigator a un NavController, utilizza il metodo
getNavigatorProvider(), seguito dal metodo
addNavigator().
Il seguente codice mostra un esempio di aggiunta di un oggetto CustomNavigator a un
NavController:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
La maggior parte delle classi Navigator ha un sottotipo di destinazione nidificato. Questa sottoclasse può essere utilizzata per specificare attributi aggiuntivi specifici per la tua destinazione. Per ulteriori informazioni sulle sottoclassi di destinazione, consulta la documentazione di riferimento per la classe Navigator appropriata.
Risorse aggiuntive
Per scoprire di più sulla navigazione, consulta le seguenti risorse aggiuntive.