我有一个带有文本和imageView的列表视图。对于每个条目,我有一个不同的图片,必须从我的服务器下载。 我的列表视图同时显示2个托管。如果我正在向下滚动,那么我们将获得我的第一个条目的图片,但是他们还有另一个网址。 这是我的getView:
@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;
}
有人可以帮助我吗?
答案 0 :(得分:0)
创建视图时,您只需设置一次图像。 它应该是这样的:
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);