我正在尝试在 Picasso 的帮助下使用绑定适配器在“imageView”中设置图像 URL。
我的 XML 图像视图:
<ImageView
android:id="@+id/imgProfile"
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@color/transparent"
android:padding="5dp"
bind:imgUrl="@{vm.imageUrl}"
android:scaleType="fitCenter"
android:translationZ="5dp" />
我的视图模型:
public ObservableField<String> getImageUrl() {
return imageUrl;
}
private ObservableField<String> imageUrl = new ObservableField<>();
@BindingAdapter({"bind:imgUrl"})
public static void setProfilePicture(ImageView imageView, String imgUrl) {
if (imgUrl == null) {
Picasso.get().load(R.drawable.ic_registration_logo).into(imageView);
} else
Picasso.get().load(imgUrl).placeholder(R.drawable.ic_registration_logo).into(imageView);
}
现在在启动“setProfilePicture”时调用并设置默认图像。然后我进行 API 调用以在 API 成功时获取图像的 URL 我将值设置为“imageUrl”
imageUrl.set("URL RECEIVED FROM SERVER");
它不会在视图中更新。意味着“setProfilePicture”不再被调用。