列表视图下载图像



抱歉,我找不到其他问题,也无法使用我的Facebook帐户登录,所以我必须再次询问:)

我有一个带有文本和图像视图的列表视图。对于每个条目,我都有不同的图片,必须从我的服务器下载。我的列表视图同时显示 2 个条目。如果我向下滚动,条目将获得我第一个条目的图片,但它们有另一个 URL。这是我的获取视图:

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View view = null;
        if(rowResourceId!=R.layout.search_empty_list) {
            if (convertView == null) {
                LayoutInflater inflator = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = inflator.inflate(rowResourceId, null);
                final ViewHolder viewHolder = new ViewHolder();
                viewHolder.textName = (TextView) view.findViewById(R.id.textView1);
                viewHolder.imgPic = (ImageView) view.findViewById(R.id.imgPic);         
                if (viewHolder.imgPic != null) {
                    String strUrl = mainUrl+list.get(position).getUrl();
                    new ImageDownload(viewHolder.imgPic).execute(strUrl);
                }
                view.setTag(viewHolder);
            } else {
                view = convertView;
            }
            ViewHolder holder = (ViewHolder) view.getTag();
            holder.textName.setText(list.get(position).getName());

        } else {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(rowResourceId, parent, false);
            TextView textView1 = (TextView) view.findViewById(R.id.textView1);
            textView1.setText(list.get(0).getName());
        }
        return view;
    }

有人可以帮助我吗?

创建视图时仅设置一次图像。它应该是这样的:

ViewHolder holder = (ViewHolder) view.getTag();
holder.textName.setText(list.get(position).getName());
String strUrl = mainUrl+list.get(position).getUrl();
new ImageDownload(holder.imgPic).execute(strUrl);

最新更新