我使用List視圖來顯示android文件,即顯示來自服務器的文件夾和文件。從網頁加載縮略圖圖像時,ListView在錯誤位置顯示錯誤的圖像
當我開始我的活動時,我可以看到屏幕上的列表,就像我想要的一樣。 ,我從服務器獲取數據。 我想要顯示像
當有圖像文件需要顯示圖像縮略圖(我有縮略圖URL從服務器獲取默認圖像加載程序顯示默認圖像圖標,直到縮略圖不可用)。
當有其他文件類型如音頻,視頻.....或文件需要顯示該圖標。
當我顯示列表時,它顯示相關文件的正確圖標。 但此刻我嘗試啓動滾動和背景我的縮略圖從服務器加載,當從服務器我正在從服務器的圖像,並顯示該位圖的縮略圖會像由於文件夾或音樂文件的圖標,其它類型文件顯示縮略圖位圖以查看列表視圖的重用。 這種錯位是從服務器獲取圖像時發生。
任何人都可以請我建議我如何克服這個問題。下面 是我getview()我的列表視圖的方法。
公共視圖getView(INT位置,查看convertView,父的ViewGroup){
ViewHolder viewHolder = new ViewHolder();
if(convertView == null){
convertView = _inflate.inflate(R.layout.layout_list, null);
viewHolder.text = (TextView) convertView.findViewById(R.id.title);
viewHolder.owner = (TextView) convertView.findViewById(R.id.owner);
viewHolder.image = (ImageView) convertView.findViewById(R.id.thumb);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
HashMap<String, String> item = (HashMap<String, String>) getItem(position);
viewHolder.text.setText(item.get("poiName").toString());
viewHolder.owner.setText(item.get("owner").toString());
ImageView imageView = viewHolder.image;
imageView.setTag(item.get("thumbs"));
//Is type of file is picture then display thumbnail by using imagloader class
if (genericDAO.sub_content_type.equalsIgnoreCase(Constants.TYPE_PICTURE))
{
String url = getTumbnalURL();
viewHolder.image.setTag(genericDAO.id);
viewHolder.image.setScaleType(ScaleType.CENTER_CROP);
mImageLoader.DisplayImage(id, url, mActivity,viewHolder.image);
}
else
{
//Display related file icon
viewHolder.image.setImageResource(FileUtil.getImageRelatedToFileType(mcontext, sub_ext));
}
return convertView;
}