gridview 第一个item的图片加载不出来

在项目中,gridview需要展示很多的大图片,故在adapter中把相应的图片设置了宽高。

但是,gridview在测量item大小时会复用第一个convertView。

这导致了第一个item的图片有时候加载不出来。


解决方法:

在设置图片的时候,对position为0的时候,另做处理(不设置宽高)。同时,限定convertView的大小。
代码:

if(position == 0){
InputStream is=null;
try {
is = new FileInputStream(new File(imageUrl));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace(); 
}
BitmapFactory.Options options=new BitmapFactory.Options(); 
options.inJustDecodeBounds = false; 
options.inSampleSize = 3;
Bitmap btp =BitmapFactory.decodeStream(is,null,options);
Drawable drawable=new BitmapDrawable(btp);
holder.ProductPhoto.setImageDrawable(drawable);
}else{
Drawable cachedImage = asyncImageLoader.loadDrawable(imageUrl,w,h,new ImageCallback() {
public void imageLoaded(Drawable imageDrawable, String imageUrl) {
ImageView imageViewByTag = (ImageView) gridView.findViewWithTag(imageUrl);
if (imageViewByTag != null) {
imageViewByTag.setImageDrawable(imageDrawable);
}
}
});
if (cachedImage == null) {
holder.ProductPhoto.setImageResource(R.drawable.loading_06);
}else{
holder.ProductPhoto.setImageDrawable(cachedImage);
}
}


convertView.setLayoutParams(new GridView.LayoutParams(w,h+50));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值