Bạn có thể dùng thao tác chung để tạo một thao tác phổ biến mà nhiều đích đến có thể sử dụng. Ví dụ: bạn có thể muốn các nút ở nhiều đích đến điều hướng tới cùng một màn hình chính của ứng dụng.
Thao tác chung được biểu thị trong Trình chỉnh sửa điều hướng bằng một mũi tên nhỏ trỏ tới đích đến được liên kết, như minh hoạ trong hình 1.
![](https://developer.android.google.cn/static/topic/libraries/architecture/images/navigation-global-action.png?authuser=19&hl=vi)
Tạo thao tác chung
Để tạo thao tác chung, hãy làm như sau:
- Từ Graph Editor (Trình chỉnh sửa Đồ hoạ), nhấp vào một đích đến để làm nổi bật đích đó.
- Nhấp chuột phải vào đích đến để hiển thị trình đơn theo bối cảnh.
- Chọn Add Action > Global (Thêm Thao tác > Chung). Một mũi tên (
) xuất hiện ở bên trái đích đến.
Nhấp vào thẻ Text (Văn bản) để điều hướng đến khung hiển thị văn bản XML. XML cho thao tác chung có dạng như sau:
<?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>
Sử dụng thao tác chung
Để sử dụng thao tác chung trong mã của bạn, hãy truyền mã nhận dạng tài nguyên của thao tác chung đến phương thức navigate()
cho từng phần tử trên giao diện người dùng, như minh hoạ trong ví dụ sau:
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); } });
Sử dụng Safe Args với thao tác chung
Để biết thông tin về cách sử dụng Safe Args cùng các thao tác chung, hãy xem phần Truyền dữ liệu giữa các đích đến.
Tài nguyên khác
Để tìm hiểu thêm về cách điều hướng, hãy tham khảo thêm những tài nguyên sau đây.