פעולות גלובליות

אפשר להשתמש בפעולה גלובלית כדי ליצור פעולה משותפת שאפשר להשתמש בה בכמה יעדים. לדוגמה, יכול להיות שתרצו להשתמש בלחצנים ביעדים שונים כדי לנווט לאותו מסך ראשי של האפליקציה.

פעולה גלובלית מיוצגת בעורך הניווט באמצעות חץ קטן שמצביע על היעד המשויך, כפי שמוצג באיור 1.

איור 1. פעולה גלובלית שמובילה לגרף בתצוגת עץ.

יצירת פעולה גלובלית

כדי ליצור פעולה גלובלית:

  1. בGraph Editor (כלי לעריכת התרשים), לוחצים על יעד כדי להדגיש אותו.
  2. לוחצים לחיצה ימנית על היעד כדי להציג את תפריט ההקשר.
  3. בוחרים באפשרות הוספת פעולה > גלובלי. חץ () יופיע משמאל ליעד.
  4. לוחצים על הכרטיסייה טקסט כדי לנווט לתצוגת הטקסט של ה-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 עם פעולות גלובליות זמין במאמר העברת נתונים בין יעדים.

מקורות מידע נוספים

מידע נוסף על ניווט זמין במקורות המידע הבאים.

Codelabs

סרטונים