当onLoadFailed()时,Glide使用默认图像

时间:2018-07-12 05:19:26

标签: android android-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);

1 个答案:

答案 0 :(得分:3)

 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中即可。