เพิ่มปุ่มตัวเลือกลงในแอปของคุณ

ลองใช้วิธีการเขียน
Jetpack Compose เป็นชุดเครื่องมือ UI ที่แนะนำสำหรับ Android ดูวิธีเพิ่มคอมโพเนนต์ใน Compose

ปุ่มตัวเลือกให้ผู้ใช้เลือก 1 ตัวเลือกจากชุดตัวเลือกที่เกี่ยวข้องกันได้ ตัวเลือก ใช้ปุ่มตัวเลือกหากผู้ใช้ต้องการดูตัวเลือกที่ใช้ได้ทั้งหมด อยู่ในรายการ ถ้าไม่จำเป็นต้องแสดงตัวเลือกทั้งหมด ให้ใช้ ตัวหมุน แทน

ตัวอย่างปุ่มตัวเลือกจาก Material.io
รูปที่ 1 ตัวอย่างของปุ่มตัวเลือกจาก วัสดุ การออกแบบ

ในการสร้างตัวเลือกปุ่มตัวเลือกแต่ละรายการ ให้สร้าง RadioButton ในเลย์เอาต์ของคุณ เนื่องจากปุ่มตัวเลือกทำงานแยกกันได้ โปรดจัดกลุ่มไว้ภายใน CANNOT TRANSLATE RadioGroup ระบบจะตรวจสอบว่าเลือกปุ่มตัวเลือกภายในกลุ่มได้เพียงปุ่มเดียวที่ หนึ่งครั้ง

ตอบสนองต่อกิจกรรมการคลิก

เมื่อผู้ใช้เลือกปุ่มตัวเลือก ออบเจ็กต์ RadioButton ได้รับเหตุการณ์เมื่อคลิก

ตัวอย่างต่อไปนี้แสดงปฏิกิริยาเมื่อผู้ใช้แตะ ออบเจ็กต์ RadioButton รายการในกลุ่ม:

<?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>

ภายใน Activity หรือ Fragment ที่โฮสต์รายการนี้ หาปุ่มตัวเลือกของคุณ และตั้งค่า Listener สำหรับเปลี่ยนสำหรับแต่ละปุ่ม เช่น ดังต่อไปนี้:

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");
}

ในตัวอย่างนี้ เมื่อผู้ใช้แตะปุ่มตัวเลือกปุ่มใดปุ่มหนึ่ง จะมีข้อความ พิมพ์ใน Logcat