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