ListView活動時,每個items裡圖片為什麼會復用被遺棄的view的圖片,怎麼解
解決方法
出現錯亂的原因是異步加載及對象被復用造成的,如果每次getview能給對象一個標識,在異步加載完成時比較標識與當前的item的標識是否是一致的,一致的則顯示,否則加載你需要顯示的圖片或默認圖片。
代碼中加上
@Override
public View getView(int position,View convertView,ViewGroup parent){
ViewHolder holder;
if(convertView == null){
convertView = inflater.inflate(R.layout.list_item,null);
holder = new ViewHolder();
convertView.setTag(holder);
}else{
holder = (ViewHolder)convertView.getTag();
}
if(!imageurl.equal(holder.imageview.getTag())//如果標識不同,設置成你想要的圖片,或默認圖片,否則不需要處理
{
holder.imageview.setTag(imageurl);//imageurl 你需要加載的網絡圖片或其實來源的路徑;
//imageview.setimageDrawable();//
}
return convertView;
}