Найти тему
Zen coder

Android View binding

Оглавление

Функционал View Binding входит в инструментарий Android Jetpack. Позволяет избавиться от шаблонного, повторяющегося кода для получения ссылок на UI элементы XML layout (findViewById ты больше не нужен).

-2

Настройка

Для включения функционала View Binding надо в файле настроек модуля build.gradle.kts для опции viewBinding установить значение true.

включение View Binding
включение View Binding

Если для какой-то XML надо отключить функционал View Binding, то надо добавить в корневой элемент этой XML атрибут: tools:viewBindingIgnore="true"

отключить для конкретной XML
отключить для конкретной XML

Использование

Когда функция View Binding включена, для каждой XML с UI макетом генерируется соответствующий класс со ссылками на UI элементы, у которых указан ID. Для элементов без ID, ссылки не генерируются.

Имя сгенерированного класса, соответствует имени XML, только в CamelCase и с добавлением Binding на конце.

activity_main.xml → ActivityMainBinding

К примеру у нас есть activity_main.xml с текстом и кнопкой

-5

Чтобы обратиться из Activity к этим UI элементам необходимо:

  1. Создать экземпляр Binding класса, вызвав метод inflate() у сгенерированного класса ActivityMainBinding
  2. Установить активный вид экрана, для этого передать корневой элемент Binding класса в setContentView()
инициализация
инициализация

После этого мы можем работать с UI элементами из Activity. Элементы будут иметь те же названия что и в XML, только в camelCase.

работа с UI элементами через ViewBinding
работа с UI элементами через ViewBinding

#программирование #android