RadioGroup CheckButton свойство

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

Ответы на вопрос(4)

объявив id rdb_positive внутри ids.xml, а затем сославшись на id из обоих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>
 05 нояб. 2015 г., 15:24
просто добавьте "+" к ид. Android: checkedButton = & Quot; + идентификатор / rdb_positive & Quot;
Решение Вопроса

android:checkedButton="@+id/rdb_positive" я думаю вы добавите+ подпишите тогда его работы

 Ruben14 июн. 2012 г., 10:52
Я думал, что + sigh был использован для определения нового идентификатора, я удивлен, что это работает :-) Спасибо.
 14 июн. 2012 г., 11:01
@LalitPoptani я знаю, что+ используется для нового идентификатора, а также bug.but его решение назначить+
 20 авг. 2014 г., 17:05
Когда вы использовали+ вRadioGroupИдентификаторrdb_positive будет создан. Таким образом, вам не нужно использовать+ снова вRadioButton, Так что используйтеandroid:id="@id/rdb_positive" в RadioButton.

<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>
 18 нояб. 2013 г., 20:34
Обратите внимание: если вы установили Android: флажок = & quot; true & quot; на стандартной кнопке RadioButton она не отключается при проверке другого! Для правильной реализации кнопки по умолчанию необходимо использовать атрибут «android: checkedButton» в RadioGroup.
<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>

правда & quot; на радио кнопку, которую вы хотите сделать по умолчанию

 10 февр. 2017 г., 13:57
Обратите внимание: если вы установили Android: флажок = & quot; true & quot; на стандартной кнопке RadioButton она не отключается при проверке другого! Чтобы правильно реализовать кнопку по умолчанию, вы должны использовать атрибут «android: checkedButton» из RadioGroup.

Ваш ответ на вопрос