您好我试图递归下载图像,但我无法。 它只下载第一张图片!有谁知道为什么?
这是我下载的代码,我做了一个日志来检查我的列表中是否有项目,是的,有20个:
Log.d("imageList.size",String.valueOf(imageList.size()));
try
{
for (int i=0; i<=imageList.size(); i++)
{
String image= imageList.get(i);
Log.d("imageList.get(0)",image);
String filename = String.valueOf(image.hashCode());
Log.v("TAG FILE :", filename);
File f = new File(cacheDir, filename);
// Is the bitmap in our cache?
Bitmap bitmap = BitmapFactory.decodeFile(f.getPath());
if (bitmap != null)
return bitmap;
else {
// Nope, have to download it
try {
bitmap = BitmapFactory.decodeStream(new URL(image)
.openConnection().getInputStream());
// save bitmap to cache for later
writeFile(bitmap, f);
return bitmap;
} catch (FileNotFoundException ex) {
ex.printStackTrace();
Log.v("FILE NOT FOUND", "FILE NOT FOUND");
return null;
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
答案 0 :(得分:0)
您的 for 循环似乎存在问题,它会在循环的第一次迭代中退出,检查您的大括号并确保您按照预期的方式设置大括号并且逻辑有意义。你应该 NOT 返回,直到你的for循环完成。
答案 1 :(得分:0)
行:代码中的25,在循环结束前不要返回。