يمكنك استخدام إجراء عام لإنشاء إجراء مشترك يمكن أن تستخدمه وجهات متعددة. على سبيل المثال، قد تريد انتقال الأزرار في وجهات مختلفة إلى شاشة التطبيق الرئيسية ذاتها.
يتم تمثيل إجراء عام في محرر التنقل بسهم صغير يشير إلى الوجهة المرتبطة، كما هو موضح في الشكل 1.
![](https://developer.android.google.cn/static/topic/libraries/architecture/images/navigation-global-action.png?authuser=5&hl=ar)
إنشاء إجراء عام
لإنشاء إجراء عام، يُرجى اتّباع الخطوات التالية:
- من محرِّر الرسم البياني، انقر على وجهة لتحديدها.
- انقر بزر الماوس الأيمن على الوجهة لعرض قائمة السياق.
- اختَر إضافة إجراء > عام. يظهر سهم
(
) على يسار الوجهة.
انقر على علامة التبويب نص للانتقال إلى عرض نص 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); } });
استخدام الوسيطات الآمنة مع إجراء عام
للحصول على معلومات حول استخدام الوسيطات الآمنة مع الإجراءات العامة، يُرجى الاطّلاع على المقالة تمرير البيانات بين الوجهات.
مراجع إضافية
لمعرفة المزيد حول التنقل، راجع الموارد الإضافية التالية.