دکمههای رادیویی به کاربر اجازه میدهند یک گزینه را از مجموعهای از گزینههای ناسازگار انتخاب کند. اگر کاربر باید همه گزینههای موجود را در فهرست ببیند، از دکمههای رادیویی استفاده کنید. اگر لازم نیست همه گزینهها نشان داده شود، بهجای آن از چرخاننده استفاده کنید.
برای ایجاد هر گزینه دکمه رادیویی، یک
RadioButton
در چیدمانتان ایجاد کنید. چون دکمههای رادیو بهصورت متقابل انحصاریاند، آنها را در
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 که میزبان این چیدمان است، دکمههای رادیویی را پیدا کنید و برای هرکدام از آنها یک شنونده تغییر تنظیم کنید، بهصورت زیر:
کاتلین
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") }
جاوا
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 چاپ میشود.