首页 > 解决方案 > 在 onLoadFailed() 时滑动使用默认图像

问题描述

我使用 glide 版本 4.7.1 我想在 onLoadFailed 时使用默认图像。

这是我的代码

Glide.with(context).load(imageUrl).listener(new RequestListener<Drawable>() {
    @Override
    public boolean onLoadFailed(@Nullable GlideException e, Object model, com.bumptech.glide.request.target.Target<Drawable> target, boolean isFirstResource) {
        // fail
        // How can i use default image in imgvAssetPicture?
    }

    @Override
    public boolean onResourceReady(Drawable resource, Object model, com.bumptech.glide.request.target.Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
        // success
        imgvLoadingProgressbar.setVisibility(View.INVISIBLE);
        imgvAssetPicture.setVisibility(View.VISIBLE);
        return false;
    }
}).into(imgvAssetPicture);

标签: androidandroid-glide

解决方案


 Glide.with(passContext)
.applyDefaultRequestOptions(new RequestOptions()
.placeholder(R.drawable.ic_user_default)
.error(R.drawable.ic_user_default))
.load(url)
.into(image);

使用 4.7.1 版(您正在使用),您可以轻松设置这些选项。

  • placeHolder当没有图像时显示。
  • error当某些 URL 无法加载时。

奖金

您是否使用一些ProgressBar设置可见性,这是​​非常古老的方法。

请参阅CircularProgressDrawable,它非常易于使用。只需将其传递CircularProgressDrawable给您的placeHolder.


推荐阅读