我试图从JSON的响应中下载5个图像,我已经设法获取图像的URL,并且如果我将其中一个图像位置硬编码到代码中,则能够下载图像。
我如何才能下载所有5张图片。
以下是请求代码:
public void getImage(String url, final ImageView imageView) {
ImageRequest requestImage = new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
System.out.println("Image Url is: " + response);
imageView.setImageBitmap(response);
System.out.println();
}
}, 0, 0, null, null);
queue.add(requestImage);
}
以下是从响应中传递图像Url并根据ID在xml中设置图像的代码
仅供参考:bp_promo1是添加到请求中的硬编码图像
try {
System.out.println("Size of PromoItemsArray is: " + home.promoItemsArray.size());
for (int i = 0; i < home.promoItemsArray.size(); i++) {
String imageUrl = home.promoItemsArray.get(i).imageUrl;
request.getImage(imageUrl, bp_promo1);
}
} catch (Exception e) {
System.out.println("Error is: " + e + " - Exception is it: " + e.getStackTrace()[2].getLineNumber());
}
}
我的想法是将所有五个图像添加到一个数组中,然后将数组中的每个项目传递给网络调用?
由于
答案 0 :(得分:0)
我设法解决问题的方法如下?
public void getImage(String url, final Object object) {
ImageLoader.ImageCache imageCache = new BitmapLruCache();
ImageLoader imageLoader = new ImageLoader(queue, imageCache);
imageLoader.get(url, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
Bitmap responseBitmap = response.getBitmap();
ImageView imageView;
ImageButton imageButton;
HorizontalScrollView horizontalScrollView;
if (object instanceof ImageView) {
imageView = (ImageView) object;
imageView.setImageBitmap(responseBitmap);
} else if (object instanceof ImageButton) {
imageButton = (ImageButton) object;
imageButton.setImageBitmap(responseBitmap);
} else if (object instanceof HorizontalScrollView) {
horizontalScrollView = (HorizontalScrollView) object;
horizontalScrollView.setBackground(new BitmapDrawable(getResources(), responseBitmap));
}
}
我刚刚通过一个Object并根据Object类型的来源
操作代码