【问题标题】:Android Kotlin - On image inside ImageView loadedAndroid Kotlin - 加载 ImageView 内的图像
【发布时间】:2025-12-22 20:40:16
【问题描述】:

这是我尝试过的

    Glide
        .with(context)
        .load(imgUrl)
        .listener(object : RequestListener<Drawable>{
            override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
                return false
            }

            override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
                return false
            }

        })
        .into(holder.image)

object 上的第一个错误:

对象不是抽象的,不实现抽象成员 public abstract fun onResourceReady(resource: Drawable!, model: Any!, target: Target!, dataSource: DataSource!, isFirstResource: Boolean):在 com.bumptech 中定义的布尔值。 glide.request.RequestListener

Drawable 的第二个错误:

注解类 Target 没有类型参数

第二个override 的第三个错误:

'onResourceReady' 不会覆盖任何内容

这里有什么问题?还是有其他解决办法??

【问题讨论】:

    标签: android kotlin android-glide


    【解决方案1】:

    出现这些错误是因为您导入了错误版本的 Target 类。您应该从 com.bumptech.glide.request.target.Target 包中导入“Target”。

    import android.graphics.drawable.Drawable
    import com.bumptech.glide.load.DataSource
    import com.bumptech.glide.load.engine.GlideException
    import com.bumptech.glide.request.RequestListener
    import com.bumptech.glide.request.target.Target
    
    
    object : RequestListener<Drawable> {
    
        override fun onLoadFailed(
            e: GlideException?,
            model: Any?,
            target: Target<Drawable>?,
            isFirstResource: Boolean
        ): Boolean {
            return false
        }
    
        override fun onResourceReady(
            resource: Drawable?,
            model: Any?,
            target: Target<Drawable>?,
            dataSource: DataSource?,
            isFirstResource: Boolean
        ): Boolean {
            return false
        }
    }
    

    【讨论】: