NavControllers
usa
um ou mais objetos Navigator
para realizar a operação de navegação. Por padrão, todos
os NavControllers
saem
do gráfico de navegação navegando 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
adicionais
precisam ser adicionados a
NavController
. Por
exemplo, ao usar fragmentos como destinos, o
NavHostFragment
adiciona automaticamente
a classe FragmentNavigator
a
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 (links em inglês).