2012-06-25 15 views
26

Mam RadioGroup rg1 i chcę uzyskać wartość wybranego przycisku opcji.Android uzyska wartość wybranego przycisku radiowego

wiem, że mogę dostać id wybranego przycisku radiowego za pomocą:

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

że daje mi identyfikator, ale chcę wartość tego przycisku.

Odpowiedz

60

Musisz uzyskać przycisk radiowy w tym indeksie, a następnie uzyskać wartość tekstu tego przycisku. Spróbuj tego kodu poniżej.

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

dziękuję działa zgodzę odpowiedź – Totti

+4

jest identyfikator zwrócony z getCheckedRadioButton tylko identyfikator w grupie RadioGroup? Dlaczego nie można uzyskać identyfikatora przycisku, a następnie użyć bardziej ogólnego findViewById, aby uzyskać instancję RadioButton dodawania dodatkowych kroków indexOfChild i getChildAt – Rarw

+1

Co to jest radioGroup w int radioId = radioGroup.indexOfChild (radioButton); –

48

spróbuj tego:

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

dziękuję, mam już odpowiedź, mam nadzieję, że mógłbym wybrać więcej niż jedną odpowiedź jako zaakceptowane odpowiedzi :(, naprawdę dziękuję człowieku , zawsze mi pomagasz – Totti

+1

Dziękuję. Powinieneś sprawdzić, czy ma wartość null beucase, może spowodować awarię aplikacji. – pess0a

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

Myślę, że powinieneś spróbować tej

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

jeden kod linii

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

prosta odpowiedź jedna linia

View v = yourView; // as a button 

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

Teraz można użyć rb1.getText(), aby uzyskać tekst na Radiobutton który jest sprawdzany

Powiązane problemy