在android开发中,显示大量文件,遇到加载图片过程中会发生图片错位显示的现象。
处理方法:
1.在适配器adapter中复用适配器convertview,示例代码
if (convertView == null)
{
holder = new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.usb_file_grid_item, null);
holder.mImage = (ImageView) convertView.findViewById(R.id.usb_fileicon);
holder.mTvTitle = (TextView) convertView.findViewById(R.id.tv_filename);
holder.mTvTime = (TextView) convertView.findViewById(R.id.tv_time);
holder.mTvPost = (TextView) convertView.findViewById(R.id.tv_category);
holder.mBox = (CheckBox) convertView.findViewById(R.id.usb_box);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
2.在加载图片过程中,给每个imageview控件添加一个tag标志位。
String path = mItems.get(position).getmMedia();
**holder.mImage.setTag(path);**
Picasso.with(mContext).load(new File(mItems.get(position).getmMedia())).resize(120, 120).into(holder.mImage);
本人亲测有效,谢谢大家。