我正在尝试在Android中构建RadioGroup,并默认选中一个RadioButton。我想知道这是否可以通过XML进行,而不是以编程方式进行。
以下代码段似乎不起作用,因为我收到错误:
error: Error: No resource found that matches the given name (at 'checkedButton' with value '@id/rdb_positive')
代码是:
<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>
在某种程度上它确实有意义,因为RadioButton的id是在RadioGroup中的属性设置之后定义的,但后来我想知道为什么有这样的属性可用。
答案 0 :(得分:25)
使用android:checkedButton="@+id/rdb_positive"
,我认为您添加了+
符号然后其作品
答案 1 :(得分:2)
试试这个......
<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>
答案 2 :(得分:2)
您可以通过在ids.xml中声明id rdb_positive然后引用RadioGroup
和RadioButton
元素中的id来消除该错误。
<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>
答案 3 :(得分:1)
<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>
将android:checked =“true”添加到您要作为默认设置的单选按钮