我对 Android Data Binding
还比较新。我正在按照这个教程学习:Data Binding Library。
我想要创建一个接收多个参数的适配器。这是我的代码:
XML
<ImageView
android:layout_width="@dimen/place_holder_size"
android:layout_height="@dimen/place_holder_size"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
app:url="@{image.imageUrl}"
app:size="@{@dimen/place_holder_size}"
/>
绑定适配器类public class ViewBindingAdapters extends BaseObservable {
@BindingAdapter({"bind:url", "bind:size"})
public static void loadImage(ImageView imageView, String url, int size) {
if (!Strings.isNullOrEmpty(url)) {
Picasso.with(imageView.getContext()).load(url).resize(size, size).centerCrop().into(imageView);
}
}
....
}
但是我遇到了这个错误:
java.lang.RuntimeException: 发现数据绑定错误。 ****/ 数据绑定错误 ****msg:在 android.widget.ImageView 上找不到参数类型为 java.lang.String 的属性 'app:url' 的设置器。 文件:... li_image_item.xml 位置:30:27 - 30:40 ****\ 数据绑定错误 ****
有人知道为什么吗?
提前感谢!
image.imageUrl
的数据类型是什么? - RaviBindingAdapter
中编写bind:url
或url
,都可以访问app:url
。 - Ravi'''自定义命名空间在匹配过程中被忽略'''
,image.imageUrl
是一个字符串吗? - pskink