Aggiungi il supporto per i nuovi tipi di destinazione

Il tipo di NavController si basa su uno o più Navigator oggetti da eseguire durante l'operazione di navigazione. Per impostazione predefinita, NavController consente di uscire dal grafico di navigazione passando a un'altra attività utilizzando ActivityNavigator e i suoi asset nidificati ActivityNavigator.Destination .

Per navigare verso qualsiasi altro tipo di destinazione, uno o più Navigator aggiuntivi occorre aggiungere oggetti al NavController. Ad esempio, quando utilizzi frammenti come destinazioni, NavHostFragment aggiunge automaticamente FragmentNavigator al relativo NavController.

Per aggiungere un nuovo oggetto Navigator a un NavController, utilizza la getNavigatorProvider(): seguito dal metodo addNavigator() .

Il codice seguente 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 una sottoclasse di destinazione nidificata. Questa sottoclasse può da utilizzare per specificare attributi aggiuntivi univoci per la destinazione. Per ulteriori informazioni informazioni sulle sottoclassi di destinazione, consulta la documentazione di riferimento per l'elemento Navigator appropriato .

Risorse aggiuntive

Per scoprire di più sulla navigazione, consulta le seguenti risorse: risorse aggiuntive.

Campioni

Codelab

Video