android - 除了在主应用程序 gradle 模块中启用数据绑定(bind)外,不能在其他包(库/sdk)中使用数据绑定(bind)

标签 android mvvm data-binding

好吧,我正在开发一个包含 Activity/fragment 的库/SDK,我想使用数据绑定(bind)而不是 findViewById() 方法。
但是当我启用 时收到此错误消息数据绑定(bind)-> 启用 = true 库 gradle 模块 但是 不是 中启用app:gradle 模块 .
这是我得到的错误:

Failed resolution of: Landroidx/databinding/DataBinderMapperImpl;

Didn't find class "androidx.databinding.DataBinderMapperImpl" on path: DexPathList[[zip file "/data/app/io.raychat.raychat_sdk-eNdusNjUCa3sHWzKRK-iqw==/base.apk"],nativeLibraryDirectories=[/data/app/io.raychat.raychat_sdk-eNdusNjUCa3sHWzKRK-iqw==/lib/x86, /system/lib, /system/vendor/lib]]
这个库的用户是不同的,我不能告诉他们所有人都在 app:gradle 模块中启用数据绑定(bind)。我该怎么办?

最佳答案

截至Data Binding Library - Get Started

You must configure data binding for app modules that depend on libraries that use data binding, even if the app module doesn't directly use data binding.


因此,当您开发一个库并且您不能强制您的库客户端启用数据绑定(bind)时,您根本不应该使用它。
您是否考虑过使用 View Binding反而?

关于android - 除了在主应用程序 gradle 模块中启用数据绑定(bind)外,不能在其他包(库/sdk)中使用数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65531089/

相关文章:

android - 是否可以通过禁用它们的包装布局来禁用所有小部件?

java - 如何将 String[] 传递给 JAVA 中接受 String 的方法

c# - MVVM 模式、IDataErrorInfo 和绑定(bind)显示错误?

c# - 我应该在 MVVM 或 ViewModel 中的用户控制代码中创建图形对象吗?

wpf - IViewFor 绑定(bind)扩展方法如何工作?

c# - 将 winforms 控件的属性绑定(bind)到多个对象属性

android - Firebase UI AuthUI.getInstance() 抛出 NPE

php - 我很困惑,构建 MVC 或 MVVM 设计模式的真正方法是什么?

data-binding - Grails - 从数据绑定(bind)的hasMany关联列表中删除项目?

java - 我如何编写一个 android cordova 插件,如果蓝牙打开则返回 1,否则返回 0?