14

我正在尝试在默认情况下选中一个 RadioButton 在 Android 中构建 RadioGroup。我想知道这是否可以通过 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

4 回答 4

25

使用android:checkedButton="@+id/rdb_positive",我想你添加+符号然后它的作品

于 2012-06-14T08:50:19.947 回答
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>
于 2012-06-14T08:52:34.407 回答
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>
于 2013-07-15T15:10:08.070 回答
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" 添加到要设为默认的单选按钮

于 2016-03-07T06:52:54.147 回答