میتوانید از یک اقدام سراسری برای ایجاد یک اقدام مشترک استفاده کنید که چندین مقصد میتوانند از آن استفاده کنند. برای مثال، ممکن است بخواهید دکمههایی در مقاصد مختلف برای پیمایش به همان صفحه اصلی برنامه بخواهید.
یک عمل سراسری در ویرایشگر ناوبری با یک فلش کوچک نشان داده می شود که به مقصد مربوطه اشاره می کند، همانطور که در شکل 1 نشان داده شده است.
![](https://developer.android.com/static/topic/libraries/architecture/images/navigation-global-action.png?hl=fa)
یک اقدام جهانی ایجاد کنید
برای ایجاد یک اکشن جهانی، موارد زیر را انجام دهید:
- از ویرایشگر نمودار ، روی یک مقصد کلیک کنید تا آن را برجسته کنید.
- روی مقصد کلیک راست کنید تا منوی زمینه نمایش داده شود.
- Add Action > Global را انتخاب کنید. یک تیر (
) در سمت چپ مقصد ظاهر می شود.
روی تب Text کلیک کنید تا به نمای متنی 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()
برای هر عنصر UI ارسال کنید:
کاتلین
viewTransactionButton.setOnClickListener { view -> view.findNavController().navigate(R.id.action_global_mainFragment) }
جاوا
viewTransactionsButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Navigation.findNavController(view).navigate(R.id.action_global_mainFragment); } });
از Safe Args با یک اقدام جهانی استفاده کنید
برای اطلاعات در مورد استفاده از Safe Args با کنشهای جهانی، به انتقال دادهها بین مقصدها مراجعه کنید.
منابع اضافی
برای کسب اطلاعات بیشتر در مورد ناوبری، به منابع اضافی زیر مراجعه کنید.