我正在尝试在ListView上设置一个Image并且我已经编写了适配器代码,它似乎工作正常,但实际获取图像的行总是给出一个关于无法找到的错误一个图像。
获取图像的代码如下,
Bitmap logo = BitmapFactory.decodeResource(MainActivity.this.getResources(), R.drawable.dm);
// creating new HashMap
HashMap<String, Object> map = new HashMap<String, Object>();
// adding each child node to HashMap key => value
map.put(TAG_BODY, id);
map.put(TAG_TITLE, name);
map.put(TAG_URL, uri);
map.put(TAG_TIME, dateFormated);
map.put(TAG_SITE, logo);
// adding HashList to ArrayList
productsList.add(map);
然后应用于ListView的代码是
ListAdapter adapter;
adapter = new SimpleAdapter(
MainActivity.this, productsList,
R.layout.list_row, new String[] { TAG_BODY, TAG_TITLE, TAG_URL, TAG_TIME, TAG_SITE},
new int[] { R.id.id, R.id.headline, R.id.url, R.id.time, R.id.list_i});
// updating listview
setListAdapter(adapter);
,错误是
06-06 22:39:44.283 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.283 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.283 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.283 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.293 32407-32411/com.mystraldesign.aggregate D/dalvikvm: GC_CONCURRENT freed 276K, 22% free 10335K/13112K, paused 2ms+3ms, total 22ms
06-06 22:39:44.293 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.293 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.303 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.303 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.303 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.303 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.313 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.323 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.323 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
06-06 22:39:44.333 32407-32407/com.mystraldesign.aggregate E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
06-06 22:39:44.333 32407-32407/com.mystraldesign.aggregate I/System.out: resolveUri failed on bad bitmap uri:
答案 0 :(得分:1)
你可以在这里看到android.widget.SimpleAdapter SimpleAdapter的setViewImage
方法只接受两个参数:
第一个参数: 要在其中设置当前图像的ImageView ID
第二个参数: 字符串(如果要从文件路径设置ImageView src)或整数(如果要从drawable的id设置ImageView src)
所以你需要只传递drawable id而不是drawable
的Bitmap