Android RadiGroup позволяет осуществлять множественный выбор
Android API Level 24 (emulator), кажется, позволяет множественный выбор, если я предварительно выбираю несколько RadioButton изначально. Я просто хочу знать, является ли это ошибкой или нет?
Вот файл макета:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/metal"
android:checked="true"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/classical"
android:checked="true"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/jazz"/>
</RadioGroup>
</LinearLayout>
Приложение запускается следующим образом:
И если я нажму на Джаз, он станет таким:
1 ответ:
В вашем макете отсутствуют значения
android:id
для виджетовRadioButton
. Это может сработать, если вы не начинаете с любого из них, предварительно проверенного в макете ресурса. Если вы собираетесь использоватьandroid:checked
в ресурсе компоновки, вам необходимо присвоить виджетамRadioButton
идентификаторы виджетов. Этодавняя проблема , которая вряд ли изменится, поэтому "это всего лишь одна из тех вещей", с которыми нам приходится иметь дело при разработке приложений для Android.