Il tipo NavController
si basa su uno o più oggetti
Navigator
per eseguire
l'operazione di navigazione. Per impostazione predefinita, NavController
supporta l'uscita dal grafico di navigazione passando a un'altra attività utilizzando la classe ActivityNavigator
e la classe ActivityNavigator.Destination
nidificata.
Per passare a qualsiasi altro tipo di destinazione, è necessario aggiungere uno o più oggetti Navigator
aggiuntivi a NavController
. Ad esempio, quando utilizzi i frammenti come destinazioni, NavHostFragment
aggiunge automaticamente la classe FragmentNavigator
al suo NavController
.
Per aggiungere un nuovo oggetto Navigator
a un NavController
, utilizza il metodo getNavigatorProvider()
, seguito dal metodo addNavigator()
.
Il codice seguente mostra un esempio di aggiunta di un oggetto CustomNavigator
a NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
La maggior parte delle classi Navigator
ha una sottoclasse di destinazione nidificata. Questa sottoclasse può essere utilizzata per specificare attributi aggiuntivi univoci per la 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.