下载图像,我用这个方法来下载图像如何实现此方法,从URL中的AsyncTask
public static Bitmap getBitmapFromURL(String u, int width, int height) {
try {
URL url = new URL(u);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(input, null, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, width, height);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeStream(input, null, options);
} catch (IOException e) {
// Log exception
return null;
}
}
这种方法和位图适配器用于显示每个列表项的图像:
Bitmap bitmap = PickanteHelper.getBitmapFromURL(image_url, 150, 150);
holder.itemImage.setImageBitmap(bitmap);
为了避免NetworkOnMainThread异常,我想我应该在加载每个图像时使用AsyncTask?
好,你可以使用支架使用线程和交流回到UI。 itemImage作为视图检查我之前回答的答案关于这些问题.. – Elltz 2014-10-18 12:25:37
不知道它是什么,我想它像毕加索一样是自由的?问题是我需要重新计算图像的inSampleSize,然后才能将它设置在列表项中,以便列表滚动不会滞后 – 2014-10-18 12:26:14
您指的是我吗? – Elltz 2014-10-18 12:28:37