Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 19
Utilisation des ressources 209
XmlPullParser xpp=getResources().getXml(R.xml.words);
while (xpp.getEventType()!=XmlPullParser.END_DOCUMENT) {
if (xpp.getEventType()==XmlPullParser.START_TAG) {
if (xpp.getName().equals("word")) {
items.add(xpp.getAttributeValue(0));
}
}
xpp.next();
}
}
catch (Throwable t) {
Toast
.makeText(this, "Echec de la requete : "+ t.toString(), 4000)
.show();
}
setListAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
items));
}
public void onListItemClick(ListView parent, View v, int position,
long id) {
selection.setText(items.get(position).toString());
}
}
Désormais, dans notre bloc try...catch, nous obtenons un XmlPullParser et nous
bouclons jusqu’à la fin du document. Si l’événement courant est START_TAG et que le nom
de l’élément soit word (xpp.getName(). equals("word")), nous récupérons le seul et
unique attribut et nous l’ajoutons à la liste de mots de notre widget. Comme nous avons un
contrôle total sur le fichier XML (puisque c’est nous qui l’avons créé), nous pouvons
supposer qu’il n’y a exactement qu’un attribut – si nous n’en étions pas sûrs, nous pourrions compter le nombre d’attributs avec getAttributeCount() et obtenir leur nom avec
getAttributeName() au lieu de supposer aveuglément que l’attribut d’indice 0 est celui
auquel on pense.
Comme le montre la Figure 19.4, mis à part le nom dans la barre de titre, le résultat est
identique à l’exemple du Chapitre 18.
Livre Android.book Page 209 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 19
Utilisation des ressources 209
XmlPullParser xpp=getResources().getXml(R.xml.words);
while (xpp.getEventType()!=XmlPullParser.END_DOCUMENT) {
if (xpp.getEventType()==XmlPullParser.START_TAG) {
if (xpp.getName().equals("word")) {
items.add(xpp.getAttributeValue(0));
}
}
xpp.next();
}
}
catch (Throwable t) {
Toast
.makeText(this, "Echec de la requete : "+ t.toString(), 4000)
.show();
}
setListAdapter(new ArrayAdapter
android.R.layout.simple_list_item_1,
items));
}
public void onListItemClick(ListView parent, View v, int position,
long id) {
selection.setText(items.get(position).toString());
}
}
Désormais, dans notre bloc try...catch, nous obtenons un XmlPullParser et nous
bouclons jusqu’à la fin du document. Si l’événement courant est START_TAG et que le nom
de l’élément soit word (xpp.getName(). equals("word")), nous récupérons le seul et
unique attribut et nous l’ajoutons à la liste de mots de notre widget. Comme nous avons un
contrôle total sur le fichier XML (puisque c’est nous qui l’avons créé), nous pouvons
supposer qu’il n’y a exactement qu’un attribut – si nous n’en étions pas sûrs, nous pourrions compter le nombre d’attributs avec getAttributeCount() et obtenir leur nom avec
getAttributeName() au lieu de supposer aveuglément que l’attribut d’indice 0 est celui
auquel on pense.
Comme le montre la Figure 19.4, mis à part le nom dans la barre de titre, le résultat est
identique à l’exemple du Chapitre 18.
Livre Android.book Page 209 Dimanche, 8. novembre 2009 12:23 12
