gpt4 book ai didi

android - 如何在 View 模型中将 ImageView 与可绘制数据绑定(bind)?

转载 作者:行者123 更新时间:2023-12-03 11:01:58 24 4
gpt4 key购买 nike

绑定(bind)适配器:

@BindingAdapter("src")
fun loadImage(imageView: ImageView, src: Any) {

if (src is Int || src is String || src is Drawable) {
Glide.with(imageView.context).load(src).into(imageView)
}
}

xml 中的 ImageView :
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="200dp"
android:layout_height="300dp"
app:src="@{model.image}" />

查看型号:
val image = MutableLiveData<Drawable>()

init {
// image.value = How to initialize this?
}

场景:
我想将 imageview 与从服务器接收到的 drawable 绑定(bind)。我想设置一个可绘制的占位符,直到从服务器获取图像。

上述代码的错误:

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter src



注:
1.请提供一个遵循MVVM的解决方案。 ( View 模型中没有上下文)

最佳答案

您可以在 Glide 中设置占位符,而不是在 ViewModel 中处理它。 .只需以下行即可达到您的目的。

Glide.with(imageView.context).load(src).placeholder(R.drawable.placeholder).into(imageView)

documentation here .

关于android - 如何在 View 模型中将 ImageView 与可绘制数据绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57243160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com