android如何使用Aquery库设置Error图像

时间:2016-07-15 06:33:43

标签: android gridview imagedownload aquery

我有一个自定义Gridview。在我的适配器中使用AQuery完成异步图像下载。图像被正确下载,但在某些情况下会发生错误,以便时间imageView背景完全白色。我想设置该错误图像。

现在这里是gridView()中我的适配器的代码:

try{
            String[] tmp_arr_thumb_img = prodItems.get(holder.position).getprod_image().split(global.split_seprator);
            //String imageID = tmp_arr_thumb_img[0];
            String thumbImg = tmp_arr_thumb_img[1];

            if (aQuery.shouldDelay(holder.position, convertView, parent, global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg)){
                aQuery.id(holder.imageView).image(R.drawable.no_image);
            }else{
                aQuery.id(holder.imageView)
                        .image(global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg,true,true,200,0, new BitmapAjaxCallback(){
                            @Override
                            protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) {

                                iv.setImageBitmap(bm);
                            }
                        }.animation(AQuery.FADE_IN));
            }
        }catch (OutOfMemoryError err){
            err.printStackTrace();
        }

2 个答案:

答案 0 :(得分:0)

请使用占位符imaage

更新您的代码
aQuery.id(holder.imageView)
                    .image(global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg,true,true,200,R.drawable.placeholder, new BitmapAjaxCallback(){
                        @Override
                        protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) {

                            iv.setImageBitmap(bm);
                        }
                    }.animation(AQuery.FADE_IN));

答案 1 :(得分:0)

如果我们无法加载图片,请使用默认图片(R.drawable.default_image)

String imageUrl = "http://www.vikispot.com/z/images/vikispot/android-w.png";
aq.id(R.id.image1).image(imageUrl, true, true, 0, R.drawable.default_image);

如果图片无法加载,请将图片视图设为“不可见”

imageUrl = "http://a.b.com/invalid.jpg"; 
aq.id(R.id.image1).image(imageUrl, true, true, 0, AQuery.INVISIBLE);

如果图片无法加载,请将图片视图“消失”

aq.id(R.id.image1).image(imageUrl, true, true, 0, AQuery.GONE);