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.