2012-06-25 81 views
26

Tôi có RadioGroup rg1 và tôi muốn nhận được giá trị của nút radio đã chọn.Android nhận giá trị của nút radio đã chọn

tôi biết rằng tôi có thể nhận được id của nút radio được chọn bằng cách sử dụng:

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

đó mang lại cho tôi id, nhưng tôi muốn giá trị của nút đó.

Trả lời

60

Bạn cần nhận nút radio tại chỉ mục đó, sau đó nhận giá trị của văn bản của nút đó. Hãy thử mã này bên dưới.

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

cảm ơn bạn nó hoạt động, tôi sẽ chấp nhận câu trả lời của bạn – Totti

+4

là id trở from getCheckedRadioButton chỉ là id trong RadioGroup? Tại sao bạn không thể có được id của nút và sau đó sử dụng một findViewById tổng quát hơn để có được instad RadioButton thêm các bước bổ sung của indexOfChild và getChildAt – Rarw

+1

RadioGroup là gì tại int radioId = radioGroup.indexOfChild (radioButton); –

48

thử điều này:

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

cảm ơn bạn, tôi đã có câu trả lời rồi, hy vọng tôi có thể chọn nhiều câu trả lời như một câu trả lời được chấp nhận :(, thực sự cảm ơn bạn , bạn luôn giúp tôi – Totti

+1

Cảm ơn bạn Bạn nên hợp lệ nếu nó là null beucase có thể làm hỏng ứng dụng. – pess0a

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

Tôi nghĩ bạn nên thử loại này

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

Một Dòng Mã

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

trả lời đơn giản một dòng

View v = yourView; // as a button 

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

Bây giờ bạn có thể sử dụng rb1.getText() để có được những văn bản trên Radiobutton đó được kiểm tra

Các vấn đề liên quan