My imageView has default picture
then I load a url with Glide
I want:
if Glide
load success, set picture to imageView
if Glide
load fail, do nothing (imageViewe still show the default picture)
Glide.with(myImageView)
.load("123456")
.listener(object : RequestListener<Drawable> {
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
return false
}
override fun onl oadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
return false
}
})
.into(myImageView)
but when Glide
load fail, it make myImageView default picture disappear
even I change the onl oadFailed return value to true it still not working
how can I maek Glide
donothing when onLoadFailed
CodePudding user response:
Don’t use into
if you need to change the image via the onResourceReady
callback.
Use submit
like:
Glide.with(myImageView)
.load("123456")
.listener(object : RequestListener<Drawable> {
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
if (resource != null) imageView.setImageDrawable(resource)
return false
}
override fun onl oadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
return false
}
})
.submit()
CodePudding user response:
Try below, use error()
method to handle request failure
Glide.with(context)
.load("http://via.placeholder.com/***.png")
.placeholder(R.drawable.placeholder)
.error(R.drawable.imagenotfound)
.into(ivImg);
Refer https://guides.codepath.com/android/Displaying-Images-with-the-Glide-Library