列表视图在滚动时显示图像在错误的位置

这里

我有一个从服务器填充的ListView。一切正常,但唯一的问题是,滚动时下载的图像显示在错误的项目位置。几秒钟后,它会在正确的位置显示正确的图像。

这是我的ArrayAdapter类,其中包括AsynchTask:

public class ApplicationAdapter extends ArrayAdapter<Application> {
    private List<Application> items;

    public ApplicationAdapter(Context context, List<Application> items) {
        super(context, R.layout.app_custom_list, items);
        this.items = items;
    }

    @Override
    public int getCount() {
        return items.size();
    }

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

        View v = convertView;

        if (v == null) {
            LayoutInflater li = LayoutInflater.from(getContext());
            v = li.inflate(R.layout.app_custom_list, null);
        }

        Application app = items.get(position);

        if (app != null) {
            ImageView imageView = (ImageView) v.findViewById(R.id.appIcon);
            TextView titleText  = (TextView) v.findViewById(R.id.titleTxt);

            if (imageView != null) {

                String path_image = app.getImagePath();

                // Call AsynchTask to load image into ImageView from path
                DownloadImageTask1 d = new DownloadImageTask(imageView);
                d.execute(path_image);
            }


            if (titleText != null) {

                titleText.setText(app.getTitle());

            }

        }

        return v;
    }

private class DownloadImageTask1 extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask1(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(getRoundedCornerBitmap(result));

    }
}

有人可以指导我朝正确的方向发展吗?我已经工作了好几天来解决这个问题。谢谢!!!

空指针

这是因为滚动ImageView时会重复使用listview在中显示加载图片listview onPreExecute它woluld会更好,如果你使用一些图书馆像毕加索这一点。因为它可以为您完成所有工作,包括将图像保存在捕获中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

列表视图在滚动时更改ImageView的位置

在列表视图中滚动时图像消失

滚动列表视图时错误的“ convertView”对象

Android:Gallery App在GridView中滚动时在错误的位置显示图像

Recyclerview 图像在向上/向下滚动时放错位置并消失

图像在堆栈视图中显示失真

更新列表视图时保持当前滚动位置

滚动Android时列表视图项会更改位置?

如何在颤动中滚动列表视图时检查位置?

当我滚动 SwiftUI/Swift 时,图像在列表中消失

UICollectionView滚动Alamofire时将图像加载到错误的位置

滚动视图不显示图像

滚动列表视图时,Android ActionBar隐藏/显示

在recyclerview中滚动时背景颜色或图像在滚动吗?

Android Studio-列表视图图像按钮返回错误的位置

滚动时列表视图中的项目顺序错误

滚动列表视图时,列表视图中项目的位置正在更改?

当我滚动列表视图时,列表视图中项目的位置正在更改

当我快速滚动时,CollectionViewCell 显示错误的图像

iOS对表格视图单元格内的图像视图的约束在滚动时放错了位置

当图像在支架中显示时,图像垂直居中显示

Android-滚动列表视图时滚动活动背景图像

图像在滚动时在recylerview中被替换,android吗?

listview数据图像在快速向下滚动时重复

Gridview图像在滚动时发生更改/随机播放

以编程方式滚动同一列表时,固定视图在列表中的位置

如何像在此图像中一样在滚动视图中调整图像视图的大小?

为什么我的所有者数据列表视图状态图像在Windows XP上显示为空白?

Android URL图像在列表视图中随机播放