Nút chọn cho phép người dùng chọn một lựa chọn trong một tập hợp các lựa chọn loại trừ lẫn nhau. Hãy dùng nút chọn nếu người dùng cần xem tất cả các lựa chọn có sẵn trong danh sách. Nếu không cần hiển thị tất cả các lựa chọn, hãy sử dụng vòng quay (spinner).
Để tạo từng lựa chọn nút chọn, hãy tạo một RadioButton trong bố cục. Vì các nút chọn loại trừ lẫn nhau, hãy nhóm chúng trong một RadioGroup.
Hệ thống đảm bảo mỗi lần bạn chỉ có thể chọn một nút chọn trong một nhóm.
Phản hồi sự kiện nhấp
Khi người dùng chọn một nút chọn, đối tượng RadioButton tương ứng sẽ nhận được một sự kiện khi nhấp.
Ví dụ sau đây cho thấy phản ứng của người dùng khi nhấn vào một đối tượng RadioButton trong một nhóm:
<?xml version="1.0" encoding="utf-8"?> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio_pirates" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pirates"/> <RadioButton android:id="@+id/radio_ninjas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Ninjas"/> </RadioGroup>
Trong Activity hoặc Fragment lưu trữ bố cục này, hãy tìm các nút chọn và đặt một trình nghe thay đổi cho từng nút, như sau:
Kotlin
findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Pirates is checked: $isChecked") } findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Ninjas is checked: $isChecked") }
Java
findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Pirates is checked: $isChecked"); } findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked -> Log.d("RADIO", "Ninjas is checked: $isChecked"); }
Trong ví dụ này, khi người dùng nhấn vào một trong các nút chọn, một thông báo sẽ in trong Logcat.