以下是我用于向listview中的每一行添加图片的代码段:
while (adapterDeal.getNextImageLink() != null) {
System.out.println("Inside while loop for images");
try {
url = new URL(adapterDeal.getNextImageLink());
stream = (InputStream) url.getContent();
drawable = Drawable.createFromStream(stream, "src");
adapterDeal.setImage(drawable);
handler.sendEmptyMessage(IMAGE_DOWNLOADED);
} catch (MalformedURLException e) {
System.out.println("Inside MalformedURLException"+e);
packAndSendMessage(e);
} catch (IOException e) {
System.out.println("Inside IOException"+e);
packAndSendMessage(e);
}
break;
}
在内部处理程序中,我没有使用图像来更新listview行。
我遇到的问题是,它只在while循环中进行一次,虽然我有,在listview中说'n'行,每行也有一个图像url。
第一次进入while循环后,在DDMS中显示:
01-26 23:32:27.104: I/System.out(1628): Inside while loop for images
01-26 23:32:28.434: D/dalvikvm(1628): GC_FOR_ALLOC freed 45K, 8% free 5901K/6407K, paused 120ms
01-26 23:32:28.453: I/dalvikvm-heap(1628): Grow heap (frag case) to 6.467MB for 640016-byte allocation
01-26 23:32:28.714: D/dalvikvm(1628): GC_CONCURRENT freed 1K, 8% free 6525K/7047K, paused 16ms+12ms
可能是什么原因,它只在while循环中进入一次。与记忆有关吗?
感谢任何帮助。
答案 0 :(得分:2)
因为你在循环的底部有一个中断; - )