Радио кнопки

Радио кнопки (RadioButton) позволяют пользователю выбрать из списка один пункт. Используйте радио кнопки, для наборов, в которых пункты являются взаимоисключающими, если считаете, что пользователь должен видеть все возможные варианты “бок-о-бок”. Если не нужно показывать все варианты рядом, используйте Выпадающий список.

Для создания радио кнопки, используйте компонент типа RadioButton. Однако, поскольку радио кнопки являются взаимоисключающими, необходимо поместить их внутрь группы – компонента типа RadioGroup. При группировании элементов, система сама позаботится о том, чтобы мог быть выбран только один элемент группы за раз.

Обработка нажатия

При нажатии на радио кнопку, соответствующий объект типа RadioButton получает событие on-click.

Для обработки нажатия на радио кнопку, необходимо добавить для элемента <RadioButton> атрибут android:onClick. В качестве значения атрибута необходимо указать имя метода, который должен вызываться при нажатии. Класс явления, содержащий разметку с радио кнопкой должен реализовывать соответствующий метод.

Например:

Примечание: RadioGroup это подкласс базового класса LinearLayout с вертикальной ориентацией по умолчанию.

В код явления добавим следующий метод, который обрабатывает событие нажатия сразу для обоих радио кнопок:

Метод, указанный в атрибуте android:onClick должен иметь в точности такую же сигнатуру, как в выше приведенном примере. То есть он должен:

  • Быть публичным (public).
  • Возвращать тип void.
  • Принимать в качестве единственного аргумента объект типа View (это будет радио кнопка, по которой кликнули).

Примечание: если нужно изменить состояние радио кнопки (например при загрузке сохраненных параметров типа CheckBoxPreference), используйте метод setChecked(boolean) или toggle().

Добавить комментарий