我正在传递我的图片资源以使用AsyncTask
并从那里更新我的imagesource,这样我一次只能在listview中获得一张图片。
我在不使用convertView的情况下得到了预期的结果,但是当我尝试使用convertview时,结果并不符合我的意愿。请帮我。以下是两种情况的代码:
没有convertView getView()
方法:
public View getView(int position, View convertView, ViewGroup arg2) {
ImageView imageView = new ImageView(context);
imageView.setLayoutParams(new ListView.LayoutParams(
LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
if (images[position] != null)
imageView.setImageResource(images[position]);
return imageView;
}
使用convertView getview()
方法:
View v = convertView;
if (v == null) {
v = new ImageView(context);
v.setLayoutParams(new ListView.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
}
if (images[position] != null)
((ImageView) v).setImageResource(images[position]);
return v;
}
答案 0 :(得分:0)
您还需要发送异步任务代码,另一方面, 试试这个,这适用于我 -
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
viewHolder.imageView = new ImageView(context);
convertView.setTag(viewHolder);
} else
viewHolder = (ViewHolder) convertView.getTag();
if (images[position] != null)
((ImageView) v).setImageResource(images[position]);
return convertView;
}
class ViewHolder {
ImageView imageView;
}