Crea un controller di navigazione

Il controller di navigazione è uno dei concetti chiave della navigazione. it contiene il grafico di navigazione ed espone i metodi che consentono lo spostamento dell'app tra le destinazioni nel grafico.

Quando utilizzi il componente Navigazione, crei un controller di navigazione. utilizzando il corso NavController. NavController rappresenta la parte centrale l'API di navigazione. Monitora le destinazioni che l'utente ha visitato e consente all'utente di spostarsi tra le destinazioni. Questa guida illustra come creare un NavController nella tua app.

Per informazioni su come aggiungere un grafico di navigazione a NavController, consulta Progetta il grafico di navigazione. NavController offre diversi modi per raggiungere le destinazioni nel grafico. Per ulteriori informazioni, vedi Navigare verso un destinazione.

Compose

Per creare un NavController quando utilizzi Jetpack Compose, chiama rememberNavController():

val navController = rememberNavController()

Devi creare NavController nella gerarchia componibile. it deve essere abbastanza alto affinché tutti i componibili che devono farvi riferimento possano farlo.

In questo modo puoi utilizzare NavController come unica fonte attendibile per aggiornare i componenti componibili al di fuori dei tuoi schermi. Ciò segue i principi di sollevamento dello stato.

Visualizzazioni

Se utilizzi il framework dell'interfaccia utente di Views, puoi recuperare il tuo NavController utilizzando uno dei seguenti metodi a seconda del contesto:

Kotlin:

Java:

In genere, prima ricevi un NavHostFragment, poi recuperi il codice NavController dal frammento. Lo snippet seguente dimostra che:

Kotlin

val navHostFragment =
    supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController

Java

NavHostFragment navHostFragment =
    (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();

Continua a leggere

  • Progettare il grafico di navigazione: una guida che spiega nel dettaglio come aggiungere un grafico al tuo NavController che contiene tutte le destinazioni nella tua app.
  • Raggiungi una destinazione: una guida che spiega nel dettaglio come utilizzare NavController per spostarti tra le destinazioni nel grafico di navigazione.