Android:处理HashMap.put获取图像
作者:互联网
我想向列表视图添加图像,我该怎么做?名称和类型显示正确.目前停留在这里.
.//other codes
.
.
try{
JSONArray arr = new JSONArray(res);
for(int i=0;i<arr.length();i++){
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = arr.getJSONObject(i);
map.put("placeID", ""+ e.getString("placeID"));
map.put("placeName",""+ e.getString("placeName"));
map.put("placeType", ""+ e.getString("placeType"));
map.put("image", R.drawable.ball_green);
mylist.add(map);
}
}catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.places,
new String[] { "placeName", "placeType" },
new int[] { R.id.placeName, R.id.placeType });
.
.
.//other codes
我希望图像适当地像:
解决方法:
R.java类在构建时自动生成,并维护作为资源ID的整数的“列表”.换句话说,R.是一个整数,不直接表示资源(字符串,可绘制等).
由于您的HashMap期望键和值都使用String类型,因此您需要将ball_green资源ID转换为String.例…
map.put("image", String.valueOf(R.drawable.ball_green));
为了再次使用它,当使用它来设置诸如ImageView等小部件的图像时,必须将该String转换回Integer.
标签:simpleadapter,image,listview,android 来源: https://codeday.me/bug/20191101/1985396.html