Rajkumar Reddy Rajkumar Reddy - 1 month ago 5
Android Question

How to set text to RadioButton which is inside of a RadioGroup programmatically?

I have a

RadioGroup
inside of which I have some
RadioButton
s.

I want to set some text on the
RadioButton
s programmatically. I used following code for that using that I'm unable to access the
RadioButton
s inside of the
RadioGroup
using Java.

How can I set the text on a
RadioButton
inside a
RadioGroup
?

XML Layout:

<RadioGroup android:layout_width="fill_parent"
android:layout_marginLeft="20dip"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/QueGroup1">

<RadioButton android:checked="false"
android:button="@drawable/green"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textColor="#000"
android:text="Yes"
android:id="@+id/rbtnYes"
android:visibility="gone" />

<RadioButton android:checked="false"
android:button="@drawable/red"
android:textColor="#000"
android:text="No"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/rbtnNo"
android:visibility="gone" />

<RadioButton android:checked="false"
android:button="@drawable/red"
android:textColor="#000"
android:text="Dont Know"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/rbtnDontKnow"
android:visibility="gone" />
</RadioGroup>


Java code:

private void fnRadioTextSet(String strval) {
rbtnYes = (RadioButton)findViewById(R.id.rbtnYes);
rbtnNo = (RadioButton)findViewById(R.id.rbtnNo);
rbtnDontKnow = (RadioButton)findViewById(R.id.rbtnDontKnow);
RadioGroup rbtnGrp = (RadioGroup)findViewById(R.id.QueGroup1);
String[] strArrtext = strval.split(",");
for (int intcount = 0; intcount < strArrtext.length; intcount++) {
rbtnGrp.getChildAt(intcount).settext("test");
}

//int i = rbtnGrp.getChildCount();
//Toast.makeText(getApplication(), rbtnGrp.getChildCount(),
// Toast.LENGTH_LONG).show();
/*String[] strtext = strval.split(",");
if (strtext.length > 0) {

}*/
}

Answer
private void fnRadioTextSet(String strval) {
    RadioGroup rbtnGrp = (RadioGroup)findViewById(R.id.QueGroup1);
    String[] strArrtext = strval.split(",");
    for (int i = 0; i < rbtnGrp.getChildCount(); i++) {
        ((RadioButton) rbtnGrp.getChildAt(i)).setText(strArrtext[i]);
    }
}