我最近创建了一个库,并在其中创建了一个BindingAdapter,它在某种程度上就像下面一样(只需在TextView上装饰文本)。
@BindingAdapter({"decorateText"})
public static void decorateText(final View view, String text) {
((TextView)view).setText("<<<" + text + ">>>");
}
可以从同一Android Studio项目中的app模块访问此BindingAdapter,如下所示
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:decorateText="@{`Buy Now`}"/>
但是在我通过jcenter分发库并通过gradle从其他应用程序项目导入库之后,我无法使用"app:decorateText"
标记。
我收到了以下错误。
No resource identifier found for attribute ‘decorateText' in package 'com.goldrushcomputing.myapplication'
我可以从应用程序中调用此库的公共方法,因此库看起来可以正确导入到项目中。
是否有任何技巧可以从应用程序模块访问库中的BindingAdapter,还是不可能?
答案 0 :(得分:0)
确保添加了
dataBinding {
enabled = true
}
到库模块的.gradle
文件。