¿Cómo configurar OnClickListener en un RadioButton en Android?

Tengo dos RadioButton dentro de un RadioGroup . Quiero configurar OnClickListener en esos RadioButton s. Dependiendo de qué RadioButton se RadioButton clic, quiero cambiar el texto de un EditText . ¿Cómo puedo conseguir esto?

Creo que una mejor manera es usar RadioGroup y configurar el oyente en esto para cambiar y actualizar la View 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 } }); 

Espero que esto te ayudará…

 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... } }; 
  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(); } }); 

La pregunta era sobre Detectar en qué botón de opción se hace clic, así es como se puede hacer clic en el botón

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

También puede agregar listener desde el diseño XML: android:onClick="onRadioButtonClicked" en su etiqueta .

  

Consulte los botones de radio SDK del desarrollador de Android para obtener más información.

Solo en caso de que alguien más estuviera luchando 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 agregar el fragmento de Ricky, tuve errores:

El método setOnCheckedChangeListener (RadioGroup.OnCheckedChangeListener) en el tipo RadioGroup no es aplicable para los argumentos (new CompoundButton.OnCheckedChangeListener () {})

Se puede arreglar con la respuesta de Ali:

 new RadioGroup.OnCheckedChangeListener() 

Dado que esta 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 correspondiente. Para usarlo de esta manera, necesitarás importar kotlinx.android.synthetic.main.your_layout_name.* En el archivo Kotlin de tu actividad. También tenga en cuenta que en caso de que el parámetro radioGroup lambda no se radioGroup , se puede reemplazar con _ (un guión bajo) desde Kotlin 1.1.