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) {
}*/
}
You can check the current state of a radio button programmatically by using isChecked() method. This method returns a Boolean value either true or false. if it is checked then returns true otherwise returns false.
To get the selected radio button, we have used radioGroup. getCheckedRadioButtonId() method, which returns the id of the selected radio button. Then to get the text of the selected radio button, we have used getText() method on that selected radio button.
Use the android:orientation="horizontal" -attribute of the RadioGroup.
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]);
}
}
Don't need the loop
rbtnYes.settext("sdklfhjsdf");
rbtnNo.settext("test");
rbtnDontKnow.settext("test");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With