Thao tác chung

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.

Hình 1. Thao tác chung cho ra đồ hoạ lồng nhau.

Tạo thao tác chung

Để tạo thao tác chung, hãy làm như sau:

  1. 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 đó.
  2. Nhấp chuột phải vào đích đến để hiển thị trình đơn theo bối cảnh.
  3. 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.
  4. 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.

Lớp học lập trình

Video