Ответ
View Binding — это способ безопасного доступа к элементам разметки без необходимости использовать findViewById. Генерирует класс для каждого XML-макета, содержащий ссылки на все View с ID.
Преимущества:
- Null safety (привязка только к существующим View)
- Type safety (корректные типы элементов)
- Упрощает код, уменьшая boilerplate
Пример:
// Activity
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.textView.text = "Hello View Binding"
}
Отличие от Data Binding:
- View Binding только для доступа к View
- Нет поддержки выражений или наблюдаемых данных
- Проще и быстрее в компиляции