2012-06-25 9 views
26

Tengo un RadioGroup rg1 y quiero obtener el valor del botón de opción seleccionado.Android obtiene el valor del botón de opción seleccionado

sé que puedo conseguir el id del botón de opción seleccionado mediante el uso de:

if(rg1.getCheckedRadioButtonId()!=-1) 
int id= rg1.getCheckedRadioButtonId() 

que me da el ello, pero quiero que el valor de dicho botón.

Respuesta

60

Debe obtener el botón de radio en ese índice, luego obtenga el valor del texto de ese botón. Pruebe este código a continuación.

if(rg1.getCheckedRadioButtonId()!=-1){ 
    int id= rg1.getCheckedRadioButtonId(); 
    View radioButton = rg1.findViewById(id); 
    int radioId = radioGroup.indexOfChild(radioButton); 
    RadioButton btn = (RadioButton) rg1.getChildAt(radioId); 
    String selection = (String) btn.getText(); 
} 
+0

que funciona gracias, voy a aceptar su respuesta – Totti

+4

es el ID devuelto de getCheckedRadioButton solo la identificación dentro del RadioGroup? ¿Por qué no se puede obtener el id del botón y luego usar un findViewById más general para obtener la instancia de RadioButton agregando pasos adicionales de indexOfChild y getChildAt – Rarw

+1

¿Qué es radioGroup at int radioId = radioGroup.indexOfChild (radioButton); –

48

probar esto:

RadioGroup rg = (RadioGroup)findViewById(R.id.youradio); 
String radiovalue = ((RadioButton)findViewById(rg.getCheckedRadioButtonId())).getText().toString(); 
+0

gracias, ya tengo una respuesta, espero poder seleccionar más de una respuesta como respuestas aceptadas :(, realmente gracias hombre , siempre me ayuda – Totti

+1

Gracias. Debe validar si es nulo, puede bloquear la aplicación. – pess0a

3
RadioGroup rg = (RadioGroup)findViewById(R.id.youradio); 
String radiovalue = (RadioButton)this.findViewById(rg.getCheckedRadioButtonId())).getText().toString(); 
0

Creo que deberías probar este

RadioGroup rg=(RadioGroup)findViewById(R.id.youradio); 
String radiovalue=(RadioButton)this.findViewById(rg.getCheckedRadioButtonId())).getText().toString(); 
0
RadioGroup bhktype_RadioGr = (RadioGroup)findViewById(R.id.bhkypeRadioGroup); 
int flatTypeId = bhktype_RadioGroup.getCheckedRadioButtonId(); 
String flat_type = ((RadioButton) findViewById(flatTypeId)).getText().toString(); 
1

Un código de línea

String buisnesstype = ((RadioButton) rdtranscompany.findViewById(rdtranscompany.getCheckedRadioButtonId())).getText().toString(); 
0

respuesta simple una línea

View v = yourView; // as a button 

String radiovalue = (RadioButton)v).getText().toString(); 
1
rb1=(RadioButton)findViewById(rg1.getCheckedRadioButtonId()); 

Ahora puede utilizar rb1.getText() para obtener el texto en el botón de radio que se comprueba

Cuestiones relacionadas