listview显示图片缩略图的问题

来源:互联网 发布:埃西里科住宅数据 编辑:程序博客网 时间:2024/06/05 20:57
Listview中包含许多不同格式的文件,对图片格式生成缩略图显示。那么我的问题来了:如果图片过多,在下滑或者上滑的时候,其他格式的文件显示的图标会乱掉,会显示成图片缩略图的样子,打断点调试发现非图片格式文件走的是正确的显示方式,但是实际显示出来的确是某个图片缩略图。
附上显示方法:

final ViewHolderCd holdercd;
if (convertView == null) {
convertView = View.inflate(ct, R.layout.newlist2, null);
holdercd= new ViewHolderCd();
holdercd.rl_gx = (LinearLayout) convertView
.findViewById(R.id.rl_gx);
holdercd.tv_time = (TextView) convertView.findViewById(R.id.tv_pc2);
holdercd.im = (ImageView) convertView.findViewById(R.id.im_list2);
holdercd.cb = (CheckBox) convertView.findViewById(R.id.cb_gxxz);
convertView.setTag(holdercd); 
}else{ 
holdercd=(ViewHolderCd)convertView.getTag(); 

}
FILE_TYPE f_type = Mime_type.get_file_type(path);//将文件格式归类

if (f_type == FILE_TYPE.IMG_FILE) {//图片格式

setImage(holdercd,fileItemList.get(position).getPath());

} else if (f_type == FILE_TYPE.TEXT_FILE) {//文本格式
holdercd.im.setBackgroundResource(R.drawable.ic_txt);
} else if (f_type == FILE_TYPE.AUDIO_FILE) {//音乐格式
holdercd.im.setBackgroundResource(R.drawable.ic_music);
} else if (f_type == FILE_TYPE.MEDIA_FILE) {//视频格式格式

holdercd.im.setBackgroundResource(R.drawable.ic_video);
} else {
holdercd.im.setBackgroundResource(R.drawable.ic_weizhi);
}
private void setImage(final ViewHolderCd holdercd, String path) {


ImageLoader.loadDrawable(path, 60, 60, new ImageCallBack() {


@Override

public void imageLoaded(Bitmap drawable) {


holdercd.im.setImageBitmap(drawable);

}

}, new Handler(){


@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

Bitmap bitmap= (Bitmap) msg.obj;

holdercd.im.setImageBitmap(bitmap);

}

});

}


0 0
原创粉丝点击