1

日付ごとにその予定 (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);

私はループを何度も試しましたが、良い解決策を思い付くことができませんでした!

4

0 に答える 0