Свойство RadioGroup checkedButton

Я пытаюсь создать RadioGroup на Android с одним 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 определяется после того, как атрибут в RadioGroup установлен, но потом мне интересно, почему есть такой атрибут.

Ответ 1

Используйте android:checkedButton="@+id/rdb_positive", я думаю, вы добавляете знак +, тогда его работы

Ответ 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>

Ответ 3

Вы можете избавиться от этой ошибки, объявив id rdb_positive внутри ids.xml, а затем ссылаясь на идентификатор от элементов RadioGroup и RadioButton.

<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>

Ответ 4

<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>

Добавьте андроид: checked = "true" в радиоблок, который вы хотите сделать по умолчанию