cha*_*ary 5 android android-databinding
我想使用 Android 数据绑定设置图像。我已经阅读了很多关于此的教程,但图像仍然没有出现。
在我的模型中,我有以下方法:
@BindingAdapter({"app:imageUrl"})
public static void loadImage(ImageView view, String url) {
Log.i("III", "Image - " + url);
Context context = view.getContext();
Glide.with(context).load(GlobalValues.img_start_url + url).into(view);
}
Run Code Online (Sandbox Code Playgroud)
我还应该提到“III”、“Image -” + url 永远不会打印,所以问题不在于 Glide。
这是我的 xml:
<data>
<variable
name="feeling"
type="bg.web3.helpkarma.ViewModels.Feeling"/>
</data>
<ImageView
android:layout_width="wrap_content"
android:id="@+id/icon"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
app:imageUrl="@{feeling.maleIcon}"/>
Run Code Online (Sandbox Code Playgroud)
并且maleIcon 是一个url 字符串
@SerializedName("male_icon")
@Expose
private String maleIcon;
Run Code Online (Sandbox Code Playgroud)
Android DataBinding@BindingAdapter仅支持 android 命名空间或不支持。因此将定义替换为
@BindingAdapter("imageUrl")
public static void loadImage(ImageView view, String url) {
[...]
}
Run Code Online (Sandbox Code Playgroud)
另外,loadImage()如果为空,则永远不会被调用feeling.maleIcon。