您好我有一个自定义列表视图包含一个图像和textview,我正在使用处理程序的ListView的适配器的列表视图加载图像,当所有的图像加载,然后我改变我的手机的方向图像再次开始下载,我想阻止这一个,即当所有的图像加载,并且当我的方向改变时,它不起作用。android列表查看图片载入中
public View getView(final int position, View convertView, ViewGroup parent) {
final String imageurl = imageUrls.get(position);
LayoutInflater inflate = LayoutInflater.from(context);
View v = inflate.inflate(rowResId, parent, false);
final ImageView image = (ImageView) v.findViewById(R.id.image);
final ProgressBar progress = (ProgressBar) v
.findViewById(R.id.progress);
image.setVisibility(View.GONE);
progress.setVisibility(View.VISIBLE);
final Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
System.out.println("Set image at" + position
+ " Image Name :: " + imageurl);
progress.setVisibility(View.GONE);
image.setImageBitmap((Bitmap) message.obj);
image.setVisibility(View.VISIBLE);
}
};
Thread thread = new Thread() {
@Override
public void run() {
Bitmap drawable = LoadImageFromWebOperations(imageurl);
Message message = handler.obtainMessage(1, drawable);
handler.sendMessage(message);
}
};
thread.start();
return v;
}
是的,我同意gypsicoder。为列表维护一个位图或可绘制缓冲区。每次在getView方法中检查Drawable是否可用。如果没有,然后下载,否则直接从缓冲区中填充。这是明智的。 – Javanator 2011-02-15 06:46:02