2012-10-11 1 views
5

Ho tre pulsanti di opzione per specificare il genere, Uomo Donna e altri. Ho salvato questi dati nel mio DB come 1 per Male, 2 per femmina e tre per altri in base alla selezione dell'utente. Ciò si riflette nella pagina del profilo, ora quando voglio modificare il profilo che voglio compilare automaticamente tutti i campi della pagina del mio profilo in modo modificabile, l'utente cambia solo i campi che desidera. Anche se sono in grado di recuperare i valori di 1,2,3 per sesso dal mio database ma non sono in grado di compilare il pulsante di opzione specificato come selezionato. Ho provato il seguente:Radio tasti Insieme controllato lo stato tramite il codice

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

risposta

11

È possibile utilizzare sia radioButton.setChecked(true); oppure radiobutton.setSelected(true);

Non fornire rb1, qui nel codice rb1 fa riferimento a RadioGroup, imposta i nomi per i pulsanti di opzione.

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 lasciami provare questo! –

+1

Non funziona con radioButton.setChecked (true) né con radiobutton.setSelected (true) –

+0

Sono in grado di visualizzare i valori recuperati dal DB attraverso l'aiuto di un messaggio di toast! –

1

provare questo codice:

radioButton.setChecked(true); 

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

Questo è per il set selezionata.

radioButton.setChecked(true); 

questo è per ottenere valore della controllata 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

Sto recuperando lo stato selezionato da Il compagno di database! –