1

プロジェクトにAndroid-Universal-Image-Loader ( https://github.com/nostra13/Android-Universal-Image-Loader ) を使用しましたが、奇妙な問題が発生します。

ウェブサイトからロードされた画像は、高速にスクロールしたり高速に飛んだりすると、リストビューの項目と一致しませんでした...

リストビュー項目が時々間違った画像をロードすることを意味します。コードは次のとおりです。

    @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;
}
4

1 に答える 1

0

まあ、これが役立つかどうかはわかりませんが、同様の問題がありましたが、Parse を使用していました。つまり、解析サーバーから画像を取得しています。 get the image は、UI スレッドではなく新しいスレッドを開いてバックグラウンドで画像を取得することを意図していました (getParseFile().getDataInBackGround)、別のスレッドを使用しない別のメソッドに変更したとき (getParseFile().getData() ))、問題なく動作しました。

于 2016-11-20T13:32:27.637 に答える