2013-11-15 60 views
1

我使用Android的通用 - 圖像 - 裝載機(https://github.com/nostra13/Android-Universal-Image-Loader)我的項目,但我得到一個奇怪的問題:列表視圖asyncimage不匹配

圖像從網站上下載了dismatch與ListView項當我滾動快或一扔快...

我指的是ListView項有時會加載錯誤的圖像,這裏是代碼:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    Map<String, Object> item = mDatasource.get(position); 
    View view = convertView; 
    final ViewHolder holder; 

    if (convertView == null) { 
     holder = new ViewHolder(); 
     view = mInflater.inflate(R.layout.block_list_item, null); 

     holder.account_name = (TextView) view.findViewById(R.id.author_name); 

     holder.account_avatar = (ImageView) view.findViewById(R.id.view_header); 

     view.setTag(holder); 
    } else { 
     holder = (ViewHolder) view.getTag(); 
    } 

    holder.account_name.setText(StringUtils.convertSafeString(item.get("account_name"))); 
    String avatarUrl = UrlHelper.HOST + item.get("account_avatar"); 

    if (!avatarUrl.endsWith(Constants.NO_AVATAR)) { 

     holder.account_avatar.setTag(avatarUrl); 
     imageLoader.displayImage(avatarUrl,holder.account_avatar, mOptions); 
    } 

    return view; 
} 

回答

0

好了,我不知道這將幫助或不 我有類似的問題,但我使用Parse,這意味着我從解析服務器獲取我的圖像 我設法解決了這個問題,當我發現我用來獲取圖像的方法是打開一個新線程而不是UI線程並在後臺獲取圖像(getParseFile()。getDataInBackGround ),當我將它更改爲另一個不使用另一個線程(getParseFile()。getData())的方法時,它可以正常工作。