Globale Aktionen

Mit einer globalen Aktion können Sie eine gemeinsame Aktion erstellen, die für mehrere Ziele verwendet werden kann. Beispielsweise können Sie Schaltflächen in verschiedenen Zielen so konfigurieren, dass sie zum selben Hauptbildschirm der App führen.

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 einem verschachtelten Diagramm führt.

Globale Aktion erstellen

So erstellen Sie eine globale Aktion:

  1. Klicken Sie im Grafikeditor auf ein Ziel, um es hervorzuheben.
  2. Klicken Sie mit der rechten Maustaste auf das Ziel, um das Kontextmenü zu öffnen.
  3. Wählen Sie Aktion hinzufügen > Global aus. Links neben dem Ziel wird ein Pfeil () angezeigt.
  4. Klicken Sie auf den Tab Text, um die XML-Textansicht aufzurufen. Das XML 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);
   }
});

Safe Args mit einer globalen Aktion verwenden

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

Weitere Informationen

Weitere Informationen zur Navigation finden Sie in den folgenden zusätzlichen Ressourcen.

Codelabs

Videos