2013-10-01 86 views
0

我有listviewCompoundDrawable,化合物drawable中的圖像需要從網頁加載。 如何從URL中加載圖像到CompoundDrawable。 我認爲我可以從URL獲取位圖圖像將其轉換爲Drawable,然後將其加載到CompoundDrawable中。像這樣從URL中加載複合圖像

public static Drawable drawableFromUrl(String url) throws IOException { 
    Bitmap x; 

    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); 
    connection.connect(); 
    InputStream input = connection.getInputStream(); 

    x = BitmapFactory.decodeStream(input); 
    return new BitmapDrawable(x); 
} 

有沒有更好的方法來做到這一點?我可以直接做到這一點,而不需要從URL創建位圖,然後將位圖轉換爲可繪製的?

+0

是的,這是相當多它是如何完成的。我會考慮使用適當的圖像加載器來完成繁重的工作。通常這些也會將你的圖像緩存在磁盤上,這意味着每次圖像需要加載時,你的應用都不會進入服務器。 –

回答

-1

試試這個

public static Drawable getDrawableFromURL(String url1) { 
    try { 
     URL url = new URL(url1); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 
     Bitmap myBitmap = BitmapFactory.decodeStream(input); 
     Drawable d = new BitmapDrawable(getResources(),myBitmap); 
     return d; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
+0

它有什麼不同?兩者都是一樣的。 –