我試圖將不同的圖像(.jpg,.png)動態地從r es/drawable
中移入ListView
。 我從數據庫中獲取圖像的名稱。 圖像本身位於res/drawable
文件夾中。動態顯示來自資源/可繪製的圖像
這是我已經有了,並帶有錯誤:d
字符串imgName; - >還有img的名字,我從數據庫中需要
Drawable drawable;
drawable = Class.appContext.getResources().getDrawable(Class.appContext.getResources().getIdentifier("com.example.test:drawable/"+imgName,null,null));
然後我得到這個成ArrayList
對數據庫中的每個圖像(+ - 200圖像):
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map = new HashMap<String, Object>();
map.put("img",drawable);
map.put("text", "some text");
list.add(map);
現在我回來列表;
在我調用類:
listReceive = Class.getImages(appContext);
listSetup = new SimpleAdapter(this, listReceive, R.layout.row,
new String[] {"img", "text"}, new int[] {R.id.IMG_CELL, R.id.TEXT_CELL});
lvList.setAdapter(listSetup);
XML列是ImageView
和TextView
。
的System.out:resolveUri失敗壞 位URI: [email protected] resolveUri失敗的壞位URI: [email protected] resolveUri失敗的壞位URI: [email protected] resolveUri失敗的壞位URI: [email protected] ... ......
我得到它的工作時,我保存的圖像到本地或SD卡存儲,然後把路徑類似的ArrayList內:
map.put("img","/data/data/com.example.test/images/" + imgName);
我不能用這個,因爲那時我就需要將圖片從res/drawable
複製到本地或SD.This佔用內存的2倍。不能那樣。
必須有辦法從drawable動態獲取圖像。
任何人都知道我在這裏錯過了什麼? 謝謝。
夥計,你真棒!我剛剛實施了你的解決方案,它的工作原理就像一個沙盤!謝謝 !! – user601302 2011-02-03 13:24:23