Puoi utilizzare un'azione globale per creare un'azione comune che può essere utilizzata da più destinazioni. Ad esempio, potresti volere pulsanti in diverse destinazioni per accedere alla stessa schermata dell'app principale.
Un'azione globale è rappresentata nell'editor di navigazione da una piccola freccia che indica la destinazione associata, come mostrato nella figura 1.
Creare un'azione globale
Per creare un'azione globale:
- In Editor di grafici, fai clic su una destinazione per evidenziarla.
- Fai clic con il tasto destro del mouse sulla destinazione per visualizzare il menu contestuale.
- Seleziona Aggiungi azione > Globale. A sinistra della destinazione viene visualizzata una freccia ().
Fai clic sulla scheda Testo per passare alla visualizzazione di testo XML. Il codice XML per l'azione globale è simile al 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>
Utilizzare un'azione globale
Per utilizzare un'azione globale nel codice, passa l'ID risorsa dell'azione globale al metodo 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); } });
Utilizzare Safe Args con un'azione globale
Per informazioni sull'utilizzo di Safe Args con le azioni globali, consulta Trasferire dati tra destinazioni.
Risorse aggiuntive
Per scoprire di più sulla navigazione, consulta le seguenti risorse aggiuntive.