是否可以将字符串和drawables作为对象传递到同一个HashMap中,然后使用此hashmap通过SimpleAdapter填充ListView?
我想要这个,因为我首先获得的JSON数据也包含缩略图的URL。然后我下载这个缩略图。相关代码(我认为):
for (...) {
...
InputStream is = (InputStream)content;
Drawable image = Drawable.createFromStream(is, "src");
// Hashmap
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("title", new String(jsonObject.getString("Title")));
map.put("thumb", image);
mylist.add(map);
}
ListAdapter adapter = new SimpleAdapter(getActivity(), mylist, R.layout.listitem,
new String[] { "title", "thumb"},
new int[] { R.id.title, R.id.thumb });
setListAdapter(adapter);
R.id.title = TextView,和R.id.thumb = ImageView
这适用于标题字符串,但不适用于drawable。这种做法真的很愚蠢吗?
提前致谢。
答案 0 :(得分:1)
您应该为列表中的行表示创建XML布局文件,并为您的行充气自定义适配器
答案 1 :(得分:0)
据我所知the SimpleAdapter
documentation,ImageView
只支持绑定资源标识符或String
,String
,我的意思是)must represent an image resource or an image URI。如果直接传递Drawable
对象,它将无效。