Переключатели

Переключатели позволяют пользователю выбрать одно из двух состояний.

Вы можете добавить кнопку-переключатель в разметку, используя объект типа ToggleButton. Android 4.0 (API 14) включает другой тип, который называется просто “переключатель” (в отличие от кнопки-переключателя), управляемый движением пальца по экрану, который можно добавить используя объект типа Switch.

Кнопка-переключатель.

Переключатель в Android 4.0.

Объекты типа ToggleButton и Switch являются подклассами CompoundButton и работают в похожей манере, так что вы можете реализовать их поведение таким же способом.

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

При нажатии на переключатель, объекты типа ToggleButton и Switch получают событие on-click.

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

Например:

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

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

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

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

Использование слушателя OnCheckedChangeListener

Вы также можете обработать событие программно. Это может понадобиться при создании экземпляра переключателя в коде во время выполнения приложения или для обработки нажатия во фрагменте.

Для этого создайте объект типа CompoundButton.OnCheckedChangeListener и назначьте его для кнопки с помощью метода setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener):

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