Azioni globali

Puoi utilizzare un'azione globale per creare un'azione comune che possono essere usate da altre destinazioni. Ad esempio, potresti volere pulsanti destinazioni diverse per passare alla stessa schermata principale dell'app.

Nell'Editor di navigazione, un'azione globale è rappresentata da una piccola freccia che punta alla destinazione associata, come mostrato nella figura 1.

Figura 1. Un'azione globale che porta a un cluster grafico.

Crea un'azione globale

Per creare un'azione globale:

  1. Nell'Editor grafico, fai clic su una destinazione per evidenziarla.
  2. Fai clic con il tasto destro del mouse sulla destinazione per visualizzare il menu contestuale.
  3. Seleziona Aggiungi azione > Globale. Una freccia () viene visualizzato a sinistra della destinazione.
  4. Fai clic sulla scheda Testo per passare alla visualizzazione di testo XML. L'XML per l'azione globale è simile alla seguente:

    <?xml version="1.0" encoding="utf-8"?>
    <navigation xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/main_nav"
                app:startDestination="@id/mainFragment">
    
      ...
    
      <action android:id="@+id/action_global_mainFragment"
              app:destination="@id/mainFragment"/>
    
    </navigation>
    

Utilizza un'azione globale

Per utilizzare un'azione globale nel codice, passa l'ID risorsa dell'azione globale al navigate() per ogni elemento dell'interfaccia utente, come mostrato nell'esempio seguente:

Kotlin

viewTransactionButton.setOnClickListener { view ->
    view.findNavController().navigate(R.id.action_global_mainFragment)
}

Java

viewTransactionsButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {
       Navigation.findNavController(view).navigate(R.id.action_global_mainFragment);
   }
});

Utilizza Safe Args con un'azione globale

Per informazioni sull'utilizzo di Safe Args con le azioni globali, consulta Trasmettere i dati tra le destinazioni.

Risorse aggiuntive

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

Campioni

Codelab

Video