gpt4 book ai didi

android - 在 Kotlin 中成功后的 Glide 回调

转载 作者:IT老高 更新时间:2023-10-28 13:37:48 27 4
gpt4 key购买 nike

   private SimpleTarget target = new SimpleTarget<Bitmap>() {  

@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation glideAnimation) {
// do something with the bitmap
// for demonstration purposes, let's just set it to an ImageView
imageView1.setImageBitmap( bitmap );
}
};

private void loadImageSimpleTarget() {
Glide.with(context)
.load(uri)
.override(600, 600)
.fitCenter()
.into(target);
}

我尝试将其转换为 Kotlin,如下所示。

val finish_target = object : SimpleTarget<Bitmap>() {
override fun onResourceReady(bitmap: Bitmap?, glideAnimation: GlideAnimation<in Bitmap>?) {
preview_image.setImageBitmap(bitmap)
}
}

Glide.with(context)
.load(uri)
.override(600, 600)
.fitCenter()
.into(finish_target)

但是编译错误显示

public open fun <Y : Target<GlideDrawable!>!> into(target: (???..???)): (???..???) defined in com.bumptech.glide.DrawableRequestBuilder
public open fun into(view: ImageView!): Target<GlideDrawable!>! defined in com.bumptech.glide.DrawableRequestBuilder

请帮我解决这个问题。

最佳答案

 Glide.with(context)
.load(url)
.listener(object : RequestListener<Drawable> {
override fun onLoadFailed(p0: GlideException?, p1: Any?, p2: Target<Drawable>?, p3: Boolean): Boolean {
Log.e(TAG, "onLoadFailed")
//do something if error loading
return false
}
override fun onResourceReady(p0: Drawable?, p1: Any?, p2: Target<Drawable>?, p3: DataSource?, p4: Boolean): Boolean {
Log.d(TAG, "OnResourceReady")
//do something when picture already loaded
return false
}
})
.into(imgView)

使用 Glide,您可以将 Listener 添加到您的链中,用于监控图像加载的状态。你必须重写两个方法,在 onResourceReady 方法中你有你的图像已经加载的回调,你可以做一些事情,例如隐藏加载器或让从另一个 View 完成动画。在 onLoadFailed 中,您会在加载时获得有关某些错误的信息,并且您可以以某种方式使用react。这样您就可以避免这些错误。

关于android - 在 Kotlin 中成功后的 Glide 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273955/

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