如何在NetworkImageView中首先显示来自URL的拇指图像,并在后台请求大尺寸图像并在下载大图像时显示?

时间:2016-05-25 12:08:28

标签: android android-volley

我正在使用Volley,我有一个带有两个图像网址,一个小拇指图像和其他大型全尺寸图像的NetworkImageView。我想首先在高速缓存中检查大图像,如果发现然后在NetworkImageView中显示,则检查高速缓存中的拇指图像,如果找到然后在视图中显示,如果没有找到,则首先从NetworkImageView中的URL加载拇指图像。

同时如果在缓存中找不到大图像,则在后台请求大图像网址,并在下载完成后用大图像替换拇指图像。

问题是NetworkImageView将drawable资源id仅作为默认占位符或错误图像,它也应该采用动态URL

1 个答案:

答案 0 :(得分:0)

我使用以下代码解决了我的问题:

Picasso.with(getActivity())
                    .load(thumbImageUrl)
                    .error(defaultImageUrl)
                    .placeholder(defaultImageUrl)
                    .into(ImageView_sliderImage, new Callback()
                    {
                        @Override
                        public void onSuccess()
                        {
                            if(imageUrl!=null && imageUrl.length()>0)
                            {
                                Picasso.with(getActivity())
                                        .load(biggerImageUrl)
                                        .error(defaultImageUrl)
                                        .placeholder(ImageView_sliderImage.getDrawable())
                                        .into(ImageView_sliderImage);
                            }
                        }
                        @Override
                        public void onError()
                        {

                        }
                    });