Reputation: 806
I am trying to build RadioGroup in Android with one RadioButton checked by default. I'm wondering if this is possible to do through XML, rather than programmatically.
The following code snippet doesn't seem to work as I'm getting an error:
error: Error: No resource found that matches the given name (at 'checkedButton' with value '@id/rdb_positive')
The code is:
<RadioGroup
style="@style/FormInputField"
android:orientation="vertical"
android:checkedButton="@id/rdb_positive"> <!-- Error on this line -->
<RadioButton
android:id="@+id/rdb_positive"
android:text="@string/answer_positive" />
<RadioButton
android:id="@+id/rdb_negative"
android:text="@string/answer_negative" />
</RadioGroup>
It does make sense in a way, as the id of the RadioButton is defined after the attribute in the RadioGroup is set, but then I wonder why there is such attribute available.
Upvotes: 15
Views: 10744
Reputation: 1056
<RadioGroup
style="@style/FormInputField"
android:orientation="vertical">
<RadioButton
android:id="@+id/rdb_positive"
android:text="@string/answer_positive"
android:checked="true"/>
<RadioButton
android:id="@+id/rdb_negative"
android:text="@string/answer_negative" />
</RadioGroup>
Add android:checked="true" to the radiobutton that you want to make as default
Upvotes: 1
Reputation: 5174
You can get rid of that error by declaring id rdb_positive inside ids.xml and then referencing the id from both RadioGroup
and RadioButton
elements.
<RadioGroup
style="@style/FormInputField"
android:orientation="vertical"
android:checkedButton="@id/rdb_positive"> <!-- REFERENCE TO ids.xml -->
<RadioButton
android:id="@id/rdb_positive"
android:text="@string/answer_positive" /> <!-- REFERENCE TO ids.xml -->
<RadioButton
android:id="@+id/rdb_negative"
android:text="@string/answer_negative" />
</RadioGroup>
ids.xml:
<resources>
<item type="id" name="rdb_positive" />
</resources>
Upvotes: 2
Reputation: 40416
Use android:checkedButton="@+id/rdb_positive"
,i think you add +
sign then its works
Upvotes: 26
Reputation: 562
try this......
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/rdb_positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="answer_positive" />
<RadioButton
android:id="@+id/rdb_negative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="answer_negative" />
</RadioGroup>
Upvotes: 2