Thao tác chung

Stay organized with collections Save and categorize content based on your preferences.

Bạn có thể sử 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 khác nhau đ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 họa trong hình 1.

Hình 1. Thao tác chung cho ra đồ họa 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 Đồ họa), nhấp vào một đích đến để làm nổi bật nó.
  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 chế độ xem 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 thành phần trên giao diện người dùng, như minh họa 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, xem 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 các tài nguyên khác sau đây.

Mẫu

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

Video