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). Выбрал только один, чтобы избежать неприятностей.

Другие вопросы по тегам