其他分享
首页 > 其他分享> > Android:处理HashMap.put获取图像

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