Я пытаюсь использовать привязывающий адаптер для установки URL-адреса изображения в «imageView» с помощью Picasso.
My XML Image View:
<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" />
My ViewModel:
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, чтобы получить URL изображения при успешном использовании API. Я устанавливаю значение «imageUrl»
imageUrl.set("URL RECEIVED FROM SERVER");
Это не обновляется при просмотре.Означает, что setProfilePicture больше не вызывается.