2012-10-11 13 views
5

Tengo tres botones de opción para especificar el género, la Mujer y otros. Guardo estos datos en mi base de datos como 1 para hombre, 2 para mujer y tres para otros según la selección del usuario. Esto se refleja en la página de perfil, ahora cuando quiero editar el perfil Quiero rellenar automáticamente todos los campos de mi página de perfil de forma editable, el usuario solo cambia los campos que desea. Aunque puedo obtener los valores de 1,2,3 para el sexo de mi base de datos, pero no puedo llenar el botón de opción especificado como está marcado. He intentado lo siguiente:Botones de radio Establecer el estado verificado a través del código

String M = (c.getString(c.getColumnIndexOrThrow("Gender"))); 
RadioGroup rb1 = (RadioGroup)findViewById(R.id.radiogroup1); 

if(M.equals(1)){ 
    rb1.check(R.id.radiobutton3); 
    RadioButton rbu1 =(RadioButton)findViewById(R.id.radiobutton3); 
    rbu1.setChecked(true); 
} 
else if(M.equals(2)){ 
    rb1.check(R.id.radiobutton4); 
    RadioButton rbu2 =(RadioButton)findViewById(R.id.radiobutton4); 
    rbu2.setChecked(true); 
} 
else if(M.equals(3)){ 
    rb1.check(R.id.radiobutton5); 
    RadioButton rbu3 =(RadioButton)findViewById(R.id.radiobutton5); 
    rbu3.setChecked(true); 
} 
+0

radiobutton.setSelected (true); – Syn3sthete

Respuesta

11

puede utilizar cualquiera radioButton.setChecked(true); o radiobutton.setSelected(true);

No proporcione rb1, aquí en su código rb1 se refiere a RadioGroup, establezca nombres para botones de opción.

String M = "3"; 
RadioGroup rb1 = (RadioGroup)findViewById(R.id.radioGroup1); 
RadioButton rbu1 =(RadioButton)findViewById(R.id.radio0); 
RadioButton rbu2 =(RadioButton)findViewById(R.id.radio1); 
RadioButton rbu3 =(RadioButton)findViewById(R.id.radio2); 

if(M.equalsIgnoreCase("1")) 
{ 
    rbu1.setChecked(true); 
} 
else if(M.equalsIgnoreCase("2")){ 

    rbu2.setChecked(true); 
} 
else if(M.equalsIgnoreCase("3")) 
{  
    rbu3.setChecked(true); 
} 
+0

Bien, ¡déjame probar esto! –

+1

No funciona con radioButton.setChecked (true) ni con radiobutton.setSelected (true) –

+0

¡Sin embargo, puedo mostrar los valores obtenidos de la base de datos con la ayuda de un mensaje de brindis! –

1

prueba este código:

radioButton.setChecked(true); 

radioSexGroup = (RadioGroup) findViewById(R.id.radioSex); 
int selectedId = radioSexGroup.getCheckedRadioButtonId(); 
rb = (RadioButton) findViewById(selectedId); 
sex = rb.getText().toString().trim(); 
2

Esto es para el sistema comprueba.

radioButton.setChecked(true); 

esto es para obtener el valor del botón de radio comprobado

RadioGroup rg=(RadioGroup) findViewById(R.id.radioGroup1); 

rg.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
@Override 
public void onCheckedChanged(RadioGroup arg0, int id) 
{ 
RadioButton checkedRadioButton = (RadioButton)rg.findViewById(id); 

boolean isChecked = checkedRadioButton.isChecked(); 

if (isChecked) 
{ 
Toast.makeText(getApplicationContext(), 
      checkedRadioButton.getText(),Toast.LENGTH_LONG).show(); 
} 
}}); 
+0

Estoy obteniendo el estado comprobado de la base de datos mate! –

Cuestiones relacionadas