Com os botões de opção, o usuário pode selecionar uma opção em um conjunto de opções mutuamente exclusivas. Use os botões de opção se o usuário precisar conferir todas as opções disponíveis. Se não for necessário mostrar todas as opções, use um ícone de carregamento.
Para criar cada opção de botão de opção, crie um
RadioButton
no layout. Como os botões de opção são mutuamente exclusivos, agrupe-os em
um
RadioGroup
.
O sistema garante que apenas um botão dentro de um grupo possa ser selecionado
por vez.
Responder a eventos de clique
Quando o usuário seleciona um botão de opção, o objeto RadioButton
correspondente recebe um evento de clique.
O exemplo abaixo mostra uma reação ao toque do usuário em um
objeto RadioButton
em um grupo:
<?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>
Dentro de Activity
ou Fragment
que hospeda esse
layout, encontre os botões de opção e defina um listener de mudança para cada um deles, da
seguinte maneira:
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"); }
Neste exemplo, quando o usuário toca em um dos botões de opção, uma mensagem é mostrada no Logcat.