locals.xml
<?xml version="1.0" encoding="UTF-8"?>
<locals>   
  <local>
<localId>1</localId>
<localName>北京市</localName>
<sceneryPath>/scennery/beijing.xml</sceneryPath>
  </local>   
  <local>
<localId>2</localId>
<localName>上海市</localName>
<sceneryPath>/scennery/shanghai.xml</sceneryPath>
  </local>   
  <local>
<localId>3</localId>
<localName>广东省</localName>
<sceneryPath>/scennery/guangdong.xml</sceneryPath>
  </local>   
 </locals>scenerys.xml
<?xml version="1.0" encoding="UTF-8"?>
<scenerys>
  <localId>1</localId>
  <scenery>
<sceneryId>1</sceneryId>
<sceneryName>王府井</sceneryName>
  </scenery>
  <scenery>
<sceneryId>2</sceneryId>
<sceneryName>故宫</sceneryName>
  </scenery>
  <scenery>
<sceneryId>3</sceneryId>
<sceneryName>颐和园</sceneryName>
  </scenery>
  <scenery>
<sceneryId>4</sceneryId>
<sceneryName>长城</sceneryName>
  </scenery>
  </scenerys>
第一个activity中显示的是地区,点一个地区跳转到第2个activity,显示这个地区的景点名字,图片,把风景的名字解析出来放在map中,再放在list中,显示在listview中,可是图片不知道怎么弄,在
<scenery>
<sceneryId>4</sceneryId>
<sceneryName>长城</sceneryName>
</scenery>
里面加个图片的路径  <sceneryPicture>/res/drawable/wangfujin.png</sceneryPicture>能行吗 

解决方案 »

  1.   

    listview中的adapter里可以添加自定义布局,自定义布局里就能增加ImageView控件啦
    类似这种
    SimpleAdapter saMenuItem = new SimpleAdapter(this, 
           meumList, //数据源 
           R.layout.meunitem, //xml实现 
           new String[]{"MainItemImage","MainItemTitle"}, //对应map的Key 
           new int[]{R.id.mainItemImage,R.id.mainItemText});  //对应R的Id 
      

  2.   

    如果listview 里面由ImageView显示图片的话,应该传图片的ID或者URI进去R.drawable.wangfujin
      

  3.   

    3楼方法没错, 你的图片ID或Uri路径从XML解析出来之后,放到Map 里面。
    Key 和 ImageView控件ID对上之后,图片就能显示出来
      

  4.   

    6楼的,请问图片ID怎么从xml解析出来啊,我放的是:  
    public static final class drawable {
            public static final int icon=0x7f020000;
    }
    里面的 <pictureId>0x7f020000</pictureId>
    再用int pictureId=integer.parseInt(pictureId,"16");map.put("picture",this.getResources().getDrawable(pictureId));
    本来以为这样能行,可是int pictureId=integer.parseInt(pictureId,"16"); 有错
    请问有什么好点的方法吗
      

  5.   

    XML 解析可以用DOM, SAX 任意一种方式都行啊
    Integer.parseInt 是将字符串转化为整数
      

  6.   

    for(Iterator iterator = sceneryList.iterator(); iterator.hasNext();)
       {
         Scenery scenery=(Scenery)iterator.next();
         HashMap<String, Object> map=new HashMap<String, Object>();
         map.put("localId",scenery.getLocalId());
           map.put("sceneryId",scenery.getSceneryId());
         map.put("sceneryName",scenery.getSceneryName());
         list.add(map);
       }
        
         adapter=new SimpleAdapter(this, list,R.layout.scenery_item, new String[]{"sceneryPicture","sceneryName"}, new int[]{R.id.sceneryPicture,R.id.sceneryName});
          listView.setAdapter(adapter);
    这样做的,但是不知道怎么把图片放上去
      

  7.   

    sceneryId 是你的图片资源ID吧, R.id.sceneryPicture 是图片控件?adapter=new SimpleAdapter(this, list,R.layout.scenery_item, new String[]{"sceneryPicture","sceneryName"}, new int[]{R.id.sceneryPicture,R.id.sceneryName});这里的 "sceneryPicture" 改成 "sceneryId" 就行了。表示从数据源中的"sceneryId"取的值传递给R.id.sceneryPicture 所代表的图片控件
    adapter=new SimpleAdapter(this, list,R.layout.scenery_item, new String[]{"sceneryId","sceneryName"}, new int[]{R.id.sceneryPicture,R.id.sceneryName});
      

  8.   

    不是的,那个sceneryId只是scenery.xml中的每个地区风景的ID,图片我不知道怎么放到xml,也不知道怎么显示出来