我想为每个日期显示其约会(rdv),数据应如下所示:
Mercredi 19 Mars 2013年
09:00 10:00
Avec M. Sellami Abdelkader
10:00 11:00
Avec M. Badri Khaled
Mercredi 20 Mars 2013年
08:00 09:00
Avec M. Hamzaoui Ismael
10:00 11:00
Avec M. Kadouri Saloua
但这就是它的显示方式:
Mercredi 19 Mars 2013年
09:00 10:00
Avec M. Sellami Abdelkader
Mercredi 20 Mars 2013年
09:00 10:00
Avec M. Sellami Abdelkader
以下是XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<rdvs>
<date>
<id>1</id>
<day>Mercredi 19 Mars 2013</day>
<rdv>
<time>09:00 10:00</time>
<avec>Avec M. Sellami Abdelkader</avec>
</rdv>
<rdv>
<time>10:00 11:00</time>
<avec>Avec M. Badri Khaled</avec>
</rdv>
</date>
<date>
<id>2</id>
<day>Mercredi 20 Mars 2013</day>
<rdv>
<time>08:00 09:00</time>
<avec>Avec M. Hamzaoui Ismael</avec>
</rdv>
<rdv>
<time>10:00 11:00</time>
<avec>Avec M. Kadouri Saloua</avec>
</rdv>
</date>
</rdvs>
以下是java代码的一部分:
ArrayList<HashMap<String, String>> rdvs = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL);
Document doc = parser.getDomElement(xml);
NodeList nl = doc.getElementsByTagName(KEY_DATE);
for ( int i=0; i<nl.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
map.put(KEY_DAY, parser.getValue(e, KEY_DAY));
map.put(KEY_TIME, parser.getValue(e, KEY_TIME));
map.put(KEY_AVEC, parser.getValue(e, KEY_AVEC));
rdvs.add(map);
}
ListAdapter adapter = new SimpleAdapter(this, rdvs,
R.layout.rdv_list,
new String[] { KEY_DAY, KEY_TIME, KEY_AVEC },
new int[] { R.id.date, R.id.time, R.id.avec });
setListAdapter(adapter);
我一遍又一遍地尝试循环,但是无法提出任何好的解决方案!