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).
![](https://developer.android.com/static/topic/libraries/architecture/images/navigation-global-action.png?authuser=6&hl=de)
Globale Aktion erstellen
So erstellen Sie eine globale Aktion:
- Klicken Sie im Graph Editor auf ein Ziel, um es zu markieren.
- Klicken Sie mit der rechten Maustaste auf das Ziel, um das Kontextmenü aufzurufen.
- Wählen Sie Add Action > Global (Aktion hinzufügen > Global) aus. Links neben dem Ziel wird ein Pfeil (
) angezeigt.
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.