ListView中顯示網絡圖片
2011-05-20 10:48:22
最近在做一個天氣預報的例子,想在ListView中添加網絡圖片,在翻閱很多文檔,在Baidu上Google很久,終于找到了辦法,現在跟大家分享一下解決方案,此篇僅做一個比較簡單的實例;
大家知道ImageView 類雖然有一個 setImageUri 方法,但不能直接接受一個由網絡地址生成的uri作為參數從而顯示圖片,我們只好使用其 setImageBitmap 方法,如
在SimpleAdapter中需要一個數據源,用來存儲數據的,在顯示圖片時我們要用HashMap<>存儲一個Bitmap;但僅存取了Bitmap時在ListView中是無法顯示圖片的,我們需要對SimpleAdapter進行處理 。
如下是對SimpleAdaptr處理的主要代碼:
看API對android.widget.SimpleAdapter.ViewBinder的解釋:
This class can be used by external clients of SimpleAdapter to bind values to views. You should use this class to bind values to views that are not directly supported by SimpleAdapter or to change the way binding occurs for views supported by SimpleAdapter.
你可以使用該類來處理SimpleAdapter不直接支持的數據;
下面來看看完整的代碼:
main.xml 中就是一個ListView , list_item.xml 是為ListView中控件提供布局 ,就是一個ImageView。這兩個比較簡單,不貼出代碼
主要代碼 MainActivity.java
注意:此例是顯示網絡圖片 要記得添加權限
<uses-permission android:name="android.permission.INTERNET">
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
