1

я использовал Android-Universal-Image-погрузчик (https://github.com/nostra13/Android-Universal-Image-Loader) для моего проекта, но я получаю странную проблему:ListView asyncimage несовпадение

изображение загружается с веб-сайта был dismatch с пунктом списке следует, когда я прокрутки быстро или броситься быстро ...

я имею в виду пункт 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, то есть я получение моих изображений с сервера разбора Мне удалось решить проблему, когда я обнаружил, что метод, который я использую для получения изображения, предназначен для открытия нового потока, а не потока пользовательского интерфейса и получения изображения в фоновом режиме (getParseFile(). getDataInBackGround), когда я изменил его на другой метод, который не использует другой поток (getParseFile(). getData()), он работал без проблем.

Смежные вопросы