привязка данных в макете с применением конструкции @{} ? Какую задачу она решает в архитектуре MVVM? Если у нас Activity и Fragment являются частью представления, то мы же можем обращаться к View-шкам создав экземпляр View Binding, при этом не нарушая принципы MVVM. К тому же, как я знаю не все представления имеют атрибут ="onClick" и нам придется все равно создавать слушатели для некоторых View-шек именно в Activity или Fragment. Есть ли какие-нибудь преимущества Data Binding с конструкцией @{} в макете, в отличии от View Binding с созданием экземпляра binding? Или есть-ли какие-то моменты, которые я не смогу выполнить с помощью View Binding и мне придется использовать Data Binding с конструкцией @{}? Вопрос может и простой, но я просто не понимаю зачем они сделали два варианта.
ViewBinding сделает все, что тебе надо
Тут не любят двусторонний датабайндинг именно за все перечисленное - код меняющий значение полей на экране должен быть в коде. А не в xml, куда к тому же сложную логику не засунуть. А onClick лет пять как использовать не рекомендуют, ставя слушатели из кода.
Вот именно это мне и не понравилось. Я просто привык xml-код держать только в файле xml. Просто читаю книжку, и там используется именно вариант с конструкцией @{} в макете. Получается никаких преимуществ в таком подходе нет и можно просто View Binding использовать?
Обсуждают сегодня