检查通过Glide加载的图片(url)是否已加载完成

9

在我的Android应用中,我有4个URL代表一张图片。为了检查第一个URL是否失效,我会依次尝试第二、第三、第四个URL。我使用Glide 4.3.1来加载图片,代码如下:

private int checkAndShow4Image(Context context, View view, int img_id, String img_url) {
    try {            
        GlideApp
                .with(context)
                .load(img_url)
                .diskCacheStrategy(DiskCacheStrategy.DATA)
                .error(R.drawable.ic_broken_image)
                .fallback(R.drawable.ic_broken_image)
                .transition(DrawableTransitionOptions.withCrossFade())
                .into((ImageView) view.findViewById(img_id));

    } catch (Exception e) {
        e.printStackTrace();
        return -1;
    }
    return 0;
}

该方法在完全加载之前返回。等待完成的最佳方法是什么?
1个回答

14

Glide使用异步方式显示图像,尝试使用回调函数来知道图像何时完成或失败:

.listener(new RequestListener<Drawable>() {
                                @Override
                                public boolean onLoadFailed(@android.support.annotation.Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {

                                    return false;
                                }

                                @Override
                                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                                    return false;
                                }
                            }
                    )
                    .into(view);

我在图像URL中得到了404错误,如何使用我的默认URL处理该URL? - Arbaz.in

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接