2012-10-11 3 views
5

J'ai trois boutons radio pour spécifier le sexe, Homme Femme et Autres. J'enregistre ces données dans ma base de données comme 1 pour le mâle, 2 pour la femelle et trois pour les autres basés sur la sélection de l'utilisateur. Ceci est reflété dans la page de profil, maintenant quand je veux éditer le profil je veux remplir automatiquement tous les champs de ma page de profil d'une manière éditable, l'utilisateur change seulement les champs qu'il veut. Bien que je suis capable de récupérer les valeurs de 1,2,3 pour le sexe de ma base de données, mais je ne suis pas en mesure de remplir le bouton radio spécifié comme coché. J'ai essayé ce qui suit:Boutons Radio Régler l'état vérifié à l'aide du code

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

Répondre

11

Vous pouvez utiliser radioButton.setChecked(true); ou radiobutton.setSelected(true); Ne donnez pas rb1, ici dans votre code. Rb1 se réfère à RadioGroup, définissez des noms pour les boutons radio.

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

Ok laissez-moi essayer ça! –

+1

Ne fonctionne pas avec radioButton.setChecked (true) ni avec radiobutton.setSelected (true) –

+0

Je peux cependant afficher les valeurs récupérées dans la base de données, à l'aide d'un message toast! –

1

essayez ce code:

radioButton.setChecked(true); 

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

Ceci est pour voir cochée.

radioButton.setChecked(true); 

Ceci est pour obtenir la valeur de vérification RadioButton

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

J'atteins l'état vérifié de La base de données mate! –