O tipo NavController
depende de um ou mais objetos
Navigator
para realizar
a operação de navegação. Por padrão, o NavController
oferece suporte
à saída do gráfico de navegação ao navegar para outra atividade usando a classe
ActivityNavigator
e a classe
aninhada
ActivityNavigator.Destination
.
Se quiser navegar para qualquer outro tipo de destino, um ou mais objetos Navigator
extras precisarão 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
, use o
método getNavigatorProvider()
, seguido pelo
addNavigator()
.
O código a seguir mostra um exemplo de como adicionar um objeto CustomNavigator
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 extras exclusivos para seu destino. Para saber mais
sobre subclasses de destino, consulte a documentação
de referência da classe
Navigator
adequada.
Outros recursos
Para saber mais sobre a navegação, consulte os seguintes recursos extras.