אפשר להשתמש בפעולה גלובלית כדי ליצור פעולה משותפת שכוללת ניתן להשתמש ביעדים. לדוגמה, ייתכן שתרצו להגדיר לחצנים יעדים שונים כדי לנווט לאותו מסך ראשי של האפליקציה.
פעולה גלובלית מיוצגת בעורך הניווט באמצעות חץ קטן מצביע אל היעד המשויך, כפי שמוצג באיור 1.
![](https://developer.android.com/static/topic/libraries/architecture/images/navigation-global-action.png?hl=he)
יצירת פעולה גלובלית
כדי ליצור פעולה גלובלית:
- בעורך התרשים, לוחצים על יעד כדי להדגיש אותו.
- לוחצים לחיצה ימנית על היעד כדי להציג את תפריט ההקשר.
- בוחרים באפשרות הוספת פעולה > גלובלי. חץ
(
) מופיעה מימין ליעד.
לוחצים על הכרטיסייה טקסט כדי לעבור לתצוגת הטקסט בפורמט XML. ה-XML של הפעולה הגלובלית נראית דומה לזו:
<?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>
שימוש בפעולה גלובלית
כדי להשתמש בפעולה גלובלית בקוד, צריך להעביר את מזהה המשאב של הפעולה הגלובלית
אל navigate()
לכל רכיב בממשק המשתמש, כפי שמוצג בדוגמה הבאה:
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 עם פעולה גלובלית
למידע על שימוש ב-Safe Args עם פעולות גלובליות, ראו: העברת נתונים בין יעדים.
מקורות מידע נוספים
מידע נוסף על הניווט זמין במאמרים הבאים: משאבים נוספים.