日付ごとにその予定 (rdv) を表示したい場合、データは次のように表示されます。
Mercredi 2013 年 3 月 19 日
09:00 10:00
Avec M. Sellami Abdelkader
10:00 11:00 Avec M. Badri Khaled
Mercredi 2013 年 3 月 20 日
08:00 09:00
Avec M. Hamzaoui Ismael
10:00 11:00
Avec M. Kadouri Saloua
しかし、これは次のように表示されます。
Mercredi 2013 年 3 月 19 日
09:00 10:00
Avec M. Sellami Abdelkader
Mercredi 2013 年 3 月 20 日
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);
私はループを何度も試しましたが、良い解決策を思い付くことができませんでした!