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).
Globale Aktion erstellen
So erstellen Sie eine globale Aktion:
- Klicken Sie im Grafikeditor auf ein Ziel, um es hervorzuheben.
- Klicken Sie mit der rechten Maustaste auf das Ziel, um das Kontextmenü zu öffnen.
- Wählen Sie Aktion hinzufügen > Global aus. Links neben dem Ziel wird ein Pfeil () angezeigt.
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.