Функционал View Binding входит в инструментарий Android Jetpack. Позволяет избавиться от шаблонного, повторяющегося кода для получения ссылок на UI элементы XML layout (findViewById ты больше не нужен).
Настройка
Для включения функционала View Binding надо в файле настроек модуля build.gradle.kts для опции viewBinding установить значение true.
Если для какой-то XML надо отключить функционал View Binding, то надо добавить в корневой элемент этой XML атрибут: tools:viewBindingIgnore="true"
Использование
Когда функция View Binding включена, для каждой XML с UI макетом генерируется соответствующий класс со ссылками на UI элементы, у которых указан ID. Для элементов без ID, ссылки не генерируются.
Имя сгенерированного класса, соответствует имени XML, только в CamelCase и с добавлением Binding на конце.
activity_main.xml → ActivityMainBinding
К примеру у нас есть activity_main.xml с текстом и кнопкой
Чтобы обратиться из Activity к этим UI элементам необходимо:
- Создать экземпляр Binding класса, вызвав метод inflate() у сгенерированного класса ActivityMainBinding
- Установить активный вид экрана, для этого передать корневой элемент Binding класса в setContentView()
После этого мы можем работать с UI элементами из Activity. Элементы будут иметь те же названия что и в XML, только в camelCase.
#программирование #android