我有一个自定义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();
}
答案 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);