Globale Aktionen

Sie können eine globale Aktion verwenden, um eine gemeinsame Aktion zu erstellen, die von mehreren Zielen verwendet werden kann. So können Sie z. B. über Schaltflächen an verschiedenen Zielen zum selben Hauptbildschirm der App gelangen.

Eine globale Aktion wird im Navigationseditor durch einen kleinen Pfeil dargestellt, der auf das zugehörige Ziel verweist (siehe Abbildung 1).

Abbildung 1: Eine globale Aktion, die zu einer verschachtelten Grafik führt.

Globale Aktion erstellen

So erstellen Sie eine globale Aktion:

  1. Klicken Sie im Graph Editor auf ein Ziel, um es zu markieren.
  2. Klicken Sie mit der rechten Maustaste auf das Ziel, um das Kontextmenü aufzurufen.
  3. Wählen Sie Add Action > Global (Aktion hinzufügen > Global) aus. Links neben dem Ziel wird ein Pfeil () angezeigt.
  4. Klicken Sie auf den Tab Text, um die XML-Textansicht zu öffnen. Der XML-Code für die globale Aktion sieht in etwa so aus:

    <?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>
    

Globale Aktion verwenden

Wenn Sie eine globale Aktion in Ihrem Code verwenden möchten, übergeben Sie die Ressourcen-ID der globalen Aktion für jedes UI-Element an die Methode navigate(), wie im folgenden Beispiel gezeigt:

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);
   }
});

Sichere Argumente mit globaler Aktion verwenden

Informationen zur Verwendung von Safe Args mit globalen Aktionen finden Sie unter Daten zwischen Zielen weitergeben.

Weitere Informationen

Weitere Informationen zur Navigation finden Sie in den folgenden Ressourcen.

Produktproben

Codelabs

Videos