Tengo dos RadioButton
dentro de un RadioGroup
. Quiero establecer OnClickListener
en esos RadioButton
s. Dependiendo de qué RadioButton
se haga clic, quiero cambiar el texto de EditText
. ¿Cómo puedo conseguir esto?Cómo configurar OnClickListener en un RadioButton en Android?
Respuesta
pensaría una mejor manera es utilizar RadioGroup
y establecer el oyente en esto para cambiar y actualizar el View
en consecuencia (le ahorra tener 2 o 3 o 4 oyentes, etc.).
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
}
});
Hope esto le ayudará a ...
RadioButton rb = (RadioButton) findViewById(R.id.yourFirstRadioButton);
rb.setOnClickListener(first_radio_listener);
y
OnClickListener first_radio_listener = new OnClickListener(){
public void onClick(View v) {
//Your Implementaions...
}
};
a veces es más claro tener tres controladores separados.+1 –
Funcionó como un amuleto, no se olvide de agregar un punto y coma después de su último corchete en su escucha en clic – inVINCEable
También puede añadir oyente a partir del formato XML: android:onClick="onRadioButtonClicked"
en su etiqueta <RadioButton/>
.
<RadioButton android:id="@+id/radio_pirates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pirates"
android:onClick="onRadioButtonClicked"/>
Ver Android developer SDK- Radio Buttons para más detalles.
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
// checkedId is the RadioButton selected
RadioButton rb=(RadioButton)findViewById(checkedId);
textViewChoice.setText("You Selected " + rb.getText());
//Toast.makeText(getApplicationContext(), rb.getText(), Toast.LENGTH_SHORT).show();
}
});
Sólo en caso de que alguien se struggeling con la respuesta aceptada:
Hay diferentes OnCheckedChangeListener interfaces. Añadí al primero para ver si se cambió un CheckBox.
import android.widget.CompoundButton.OnCheckedChangeListener;
vs
import android.widget.RadioGroup.OnCheckedChangeListener;
Al añadir el fragmento de Ricky tenía errores:
El método setOnCheckedChangeListener (RadioGroup.OnCheckedChangeListener) en el RadioGroup tipo no es aplicable para los argumentos (nuevo CompoundButton.OnCheckedChangeListener() {})
se puede solucionar con la respuesta de Ali:
new RadioGroup.OnCheckedChangeListener()
La pregunta fue sobre Detección qué botón se hace clic, se trata de cómo se puede conseguir lo que se hace clic
final RadioGroup radio = (RadioGroup) dialog.findViewById(R.id.radioGroup1);
radio.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
View radioButton = radio.findViewById(checkedId);
int index = radio.indexOfChild(radioButton);
// Add logic here
switch (index) {
case 0: // first button
Toast.makeText(getApplicationContext(), "Selected button number " + index, 500).show();
break;
case 1: // secondbutton
Toast.makeText(getApplicationContext(), "Selected button number " + index, 500).show();
break;
}
}
});
Desde este la pregunta no es específica de Java, me gustaría agregar cómo puede hacerlo en Kotlin:
radio_group_id.setOnCheckedChangeListener({ radioGroup, optionId -> {
when (optionId) {
R.id.radio_button_1 -> {
// do something when radio button 1 is selected
}
// add more cases here to handle other buttons in the RadioGroup
}
}
})
Aquí radio_group_id
es el android:id
asignado del RadioGroup en cuestión. Para usarlo de esta manera, deberá importar kotlinx.android.synthetic.main.your_layout_name.*
en el archivo Kotlin de su actividad. También tenga en cuenta que en caso de que el parámetro lambda radioGroup
no se utilice, puede reemplazarse con _
(un guión bajo) desde Kotlin 1.1.
- 1. Cómo configurar el método onClicklistener de ImageView en Android?
- 2. ¿Cómo puedo configurar onClickListener en ArrayAdapter?
- 3. ListView OnClickListener() no funciona después de la adición de RadioButton
- 4. Android EditText onClickListener
- 5. Android - Achartengine XYScatter OnclickListener
- 6. Android ListView Adapter OnClickListener problema
- 7. Android: Cómo cambiar el tamaño del RadioButton
- 8. ¿Agregar margen entre un RadioButton y su etiqueta en Android?
- 9. Eliminar icono de RadioButton Android
- 10. Android :: OnTouchListener && OnClickListener tema combinación Descripción
- 11. cómo usar el método onClickListener de Button en un ListView
- 12. ¿Cómo configurar java.util.logging en Android?
- 13. onClickListener en LinearLayout
- 14. Android: Cuando me puse un OnClickListener para un ListView
- 15. opción de Android RadioButton en el lado derecho del texto
- 16. Agregar un onClickListener en GroupIndicator predeterminado en ExpandableListView
- 17. Desmarque todo RadioButton en un RadioButtonGroup
- 18. android radiobutton check after clearing check issue
- 19. Implementación de OnClickListener para botones creados dinámicamente en Android
- 20. cómo configurar botón de opción marcada por defecto en radiogroup con Android
- 21. OnClickListener dentro de un cuadro de alerta personalizado Android
- 22. Obtenga el OnClickListener actual de un objeto Android View
- 23. Cómo crear el grupo RadioButton en la ventana preference.xml?
- 24. Grupos WPF RadioButton en Xaml
- 25. ¿Cómo puedo configurar varias alarmas en Android?
- 26. Texto a la izquierda de un RadioButton con un margen en Android
- 27. Cómo configurar fondos de pantalla en Android
- 28. Android cómo configurar ScrollBar en Edittext?
- 29. Android ListView y OnClickListener: Cómo obtener el elemento seleccionado
- 30. ¿Cómo configurar un diseño de menú principal en Android?
No funcionaba para mí, Eclipse sugirió que agregue @Override, y que se corrigió. Gracias –
sí, yo usaría radiogroup excepto que no funciona a menos que sea un padre directo en el xml y no puedo mantenerlo como un padre directo ya que este estúpido radiobutton no se puede alinear al centro, así que tuve que encerrarlo en un linearlayout ... –
puede tratar de centrar el botón de radio colocando ** android: gravity = "center" ** en el xml debajo de la etiqueta RadioGroup. @RudolfRein – OuuGiii