View Binding в kotlin

Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов.

Этот механизм упрощает работу с элементами пользовательского интерфейса в Android-приложениях, минимизируя ошибки, связанные с неверным использованием идентификаторов представлений (view). Он помогает избежать использования findViewById, предоставляя доступ к элементам интерфейса через сгенерированные классы.

Для начала нужно включить эту фичу в build.gradle

Фича активируется после синхронизации gradle файлов.

Пусть у вас есть шаблон activity_main. Тогда фича создаст класс ActivityMainBinding, который предоставит доступ к View элементам — не нужно заниматься копированием id из макета, и выполнять monkey-job по вызову findViewById.

Пример кода для activity

Обратите внимание, что setContentView также использует binding объект.

Пример кода использования binding во фрагменте

Здесь использована более сложная схема, т.к. у фрагментов более сложный жизненный цикл, чем у активити. Нам нужно чтобы binding функционировал пока существует view. И если вы обратитесь к binding за рамками onViewCreated — onDestroyView, то будет брошено исключение.

Мало букафф? Читайте есчо !

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

Фильтрация сообщений в logcat

Январь 10, 2025 г.

Android Studio пере-изобретает способ фильтрации сообщений в logcat в очередной раз. Теперь это инструкции, которые задаются сродни ключам командной строки. ...

Читать

Синглтон и даблчек

Февраль 25, 2025 г.

Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck. У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации. [crayon-68cc8415f3955861446193/] ...

Читать

Читаем данные из интернет

Январь 23, 2025 г.

Для чтения данных из интернет есть множество библиотек и классов, потому не стоит делать так, как это описано ниже в статье. Я буду использовать базовые библиотеки, и будет много кода (kotlin). Задача - есть BASE_URL, надо прочитать текстовые данные. ...

Читать
 

Комментарии к «View Binding в kotlin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: