2011-06-29 25 views
1

我正在從網址陣列下載圖像以顯示圖像列表時遇到問題。 我將圖像網址存儲到一個數組中,當我迭代這個數組時,我調用一個方法來下載並通過一次傳遞一個url來返回一個位圖。但完成這個迭代後,我錯過了一些圖像。這意味着我知道迭代過程會跳過一些圖像。從Android的網址下載陣列的圖像陣列的問題

任何人都可以幫助我嗎? 爲了參考目的,我在這裏附上我的代碼,我正在單獨的線程中使用處理程序運行。

Bitmap[] data = new Bitmap[urls.size()]; 
for (int i = 0; i < urls.size(); i++) { 
Bitmap temp=getBitmapFromURL(urls.get(i)); 
if(temp!=null){ 
    data[i] = temp; 
       } 
} 
public static Bitmap getBitmapFromURL(String urlString) { 
     try { 
     URL url = new URL(urlString); 
     InputStream input = url.openConnection().getInputStream(); 

      BitmapFactory.Options options = new BitmapFactory.Options(); 

        options.inSampleSize = 8; 


       myBitmap = BitmapFactory.decodeStream(input, null, options); 
      return myBitmap; 
     }catch (Exception e) { 
      e.printStackTrace(); 
     } 

} 

回答

0

你可以在列表視圖中使用Lasylist進行圖像顯示。

源可以在這裏找到http://open-pim.com/tmp/LazyList.zip

+0

感謝您的快速響應。如果我想直接在列表視圖中下載和顯示圖像,延遲加載應該可以工作。但我的意圖是我想從後端下載圖像,然後將它們存儲在位圖數組中,然後在完成下載所有圖像後顯示它們 – sathish

1

圖片的惰性加載將解決您的問題。請轉到以下鏈接:Lazy load of images in ListView

+0

感謝您的快速響應。如果我想直接在列表視圖中下載和顯示圖像,延遲加載應該可以工作。但我的意圖是我想從後端下載圖像,然後將它們存儲在位圖數組中,然後在完成下載所有圖像後顯示它們。 – sathish