RadioGroup checkedButton属性

时间:2012-06-14 08:47:02

标签: android xml radio-button

我正在尝试在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中的属性设置之后定义的,但后来我想知道为什么有这样的属性可用。

4 个答案:

答案 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然后引用RadioGroupRadioButton元素中的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”添加到您要作为默认设置的单选按钮