NavControllers
usa
um ou mais objetos Navigator
para realizar a operação de navegação. Por padrão, todos os
NavControllers
são compatíveis
com a saída do gráfico de navegação ao navegar para outra atividade usando a classe
ActivityNavigator
e a classe
aninhada
ActivityNavigator.Destination
. Para poder navegar para qualquer outro tipo de destino, um ou mais objetos
Navigator
extra
precisam ser adicionados ao
NavController
. Por
exemplo, ao usar fragmentos como destinos, o
NavHostFragment
adiciona automaticamente
a classe FragmentNavigator
ao
NavController
.
Para adicionar um novo objeto Navigator
a um
NavController
, você precisa
usar o método getNavigatorProvider()
da respectiva classe NavController
,
seguido pelo método da classe addNavigator()
.
O código a seguir mostra um exemplo de como adicionar um objeto CustomNavigator
fictício a um NavController
:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
A maioria das classes Navigator
tem uma subclasse de destino aninhada. Essa subclasse pode ser
usada para especificar atributos adicionais exclusivos para seu destino. Para saber mais
sobre subclasses de destino, consulte a documentação
de referência da classe
Navigator
.
Outros recursos
Para saber mais sobre navegação, consulte os recursos adicionais a seguir.