2012-10-11 9 views
5

Mam trzy przyciski radiowe, aby określić płeć, mężczyzna kobieta i inni. Zapisuję te dane w moim DB jako 1 dla mężczyzn, 2 dla kobiet i trzy dla innych na podstawie wyboru użytkownika. Znajduje to odzwierciedlenie na stronie profilu, teraz gdy chcę edytować profil, który chcę automatycznie wypełnić wszystkie pola na mojej stronie profilu w sposób edytowalny, użytkownik zmienia tylko te pola, które chce. Chociaż jestem w stanie pobrać wartości 1,2,3 dla płci z mojej bazy danych, ale nie jestem w stanie wypełnić określonego przycisku radiowego jako sprawdzony. Próbowałem następujące:Przyciski radiowe Ustaw sprawdzony stan za pomocą kodu

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

Odpowiedz

11

Można użyć albo radioButton.setChecked(true); lub radiobutton.setSelected(true);

Nie podawaj rb1, tutaj w swoim kodzie rb1 odnosi się do RadioGroup, ustaw nazwy dla przycisków radiowych.

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

Dobra, pozwól mi spróbować! –

+1

Nie działa z radioButton.setChecked (true) ani z radiobutton.setSelected (true) –

+0

Jestem w stanie wyświetlić wartości pobrane z DB za pomocą wiadomości tostowej! –

1

wypróbować ten kod:

radioButton.setChecked(true); 

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

to dla zestawu sprawdzane.

radioButton.setChecked(true); 

to na uzyskanie wartości od sprawdzane 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

Pobieram sprawdzony stan z wiązania bazy danych! –

Powiązane problemy