ViewBinding конфликтует с DataBinding
В моем проекте ViewBinding конфликтует с DataBinding при компиляции.
LayoutListCoverMaskBinding является подклассом ViewBinding, но для параметра требуется тип DataBinding.
Оба DataBinding и ViewBinding включены
viewBinding {
enabled = true
}
dataBinding {
enabled = true
}
Может ли кто-нибудь пояснить мне, почему это произошло и есть ли способ решить эту проблему?
2 ответа
Вы должны обернуться <layout></layout>
теги все ваши макеты, которые включены в макеты DataBinding, в противном случае платформа ViewBinding сгенерирует для нее свою собственную привязку, и это несовместимо с привязкой, используемой DataBinding.
Поэтому убедитесь, что корневой элемент вашего layout_list_cover_mask.xml
это <layout>
Вам следует поступить так, как предложил Гуни, если вы хотите сохранить и то и другое. Но я предлагаю использовать только viewBinding, потому что это намного быстрее, и с ним вам не нужно обертывать какие-либо группы представлений, а его синтаксис упрощен. Если вы хотите использовать два способа привязки, вы можете комбинировать оба (viewBinding и dataBinding). Выбрал только один, чтобы избежать неприятностей.