在ListView中顯示網絡圖檔
ImageView 類雖然有一個 setImageUri 方法,但不能直接接受一個由網絡位址生成的uri作為參數進而顯示圖檔,我們隻好使用其 setImageBitmap 方法來轉換。
我們來做一個如下的文章列顯示:

先聲明一個類文章類來初始化資料:
其中getPhoto方法根據URL用來獲得線上圖檔,傳回對應的Bitmap。
制造資料,一般來說是從網絡上獲得,此處為了友善手工造:
然後生成SimpleAdapter需要的資料:
ListView中item布局:
還需要一個ListView,此處我用了一個list_separator_line圖檔來分隔上下行:
在SimpleAdapter中需要一個資料源,用來存儲資料的,在顯示圖檔時我們要用HashMap<>存儲一個Bitmap;但僅存取了Bitmap時在ListView中是無法顯示圖檔的,我們需要對SimpleAdapter進行處理 。
如下是對SimpleAdaptr處理的主要代碼
然後給ListView綁定,MainActivity完整代碼:
// 添加點選事件
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// 獲得選中項的HashMap對象
HashMap<String, Object> map = (HashMap<String, Object>) listView.getItemAtPosition(arg2);
String title = map.get("itemTitle").toString();
String content = map.get("itemAuthor").toString();
Toast.makeText(getApplicationContext(), "你選擇了第" + arg2 + "個Item,itemTitle的值是:" + title + "itemAuthor的值是:" + content, Toast.LENGTH_SHORT).show();
}
});
以上就是一般的對于網絡圖檔綁定ListView處理方式,好一點的處理方式是定制擴充一個SimpleAdapter專用來處理圖檔綁定。
注意:此例是顯示網絡圖檔 要記得添權重限,否則報錯:java.net.SocketException: Permission denied
<uses-permission android:name="android.permission.INTERNET">
本文轉自歡醉部落格園部落格,原文連結http://www.cnblogs.com/zhangs1986/p/3612647.html如需轉載請自行聯系原作者
歡醉