Bonjour tout le monde,
Je travaille en ce moment sur une appli android et je suis bloqué
Dans les tutos que j'ai pu lire sur les content handler android, il y a simplement des syso qui affichent les données (genre entrée de balise etc) sachant que j'utilise SAX comme parser. Le soucis c'est que moi je dois envoyer des données depuis mon content handler à mon activité.
En gros je parse mon XML, et j'aimerais y compter le nombre de fois qu'une balise est appelé et mettre dans un tableau le texte qu'il y a entre les balises. Entre j'aimerais envoyer le tableau et le nombre à mon activité qui va s'occuper à créer un nombre équivalent de boutons en fonction du nombre reçu du content handler et va mettre comme nom de bouton, le text au bon endroit dans le tableau (lui aussi recu depuis le content handler).
Voici mon contentHandler:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 package mpam.base; import java.util.ArrayList; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class GestionnaireContenuAffParcours extends DefaultHandler { String eltName=""; static int nbParcours=0; static String lib[]=null; int numLib=0; public void startElement(String namespaceURI, String localName, String rawName, Attributes atts) throws SAXException { eltName = localName; } // Pour les noeuds textes public void characters (char[] ch, int start, int length) { String text = new String (ch, start, length); if(eltName.equals("profil")){ nbParcours++; } if(eltName.equals("libelle")){ lib[numLib]=text; numLib++; } } public static int getNbParcours(){ return nbParcours; } /** * @return the lib */ public static String[] getLib() { return lib; }
Le soucis c'est que avec ce code: ça me fait un null pointer exception si j'essai d'afficher le texte du bouton, et si je ne veux même pas afficher ce texte, ça me met que un seul bouton alors qu'il m'en faudrait 4.
Voici la boucle qui est censé afficher les boutons dans mon activité:
et dans mon constructeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Button[] b1 = null; b1 = new Button[nbParcours]; for(int i=0;i<nbParcours;i++) { b1[i] = new Button(this); b1[i].setText(libButton[i]); test.addView(b1[i],params); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 nbParcours=GestionnaireContenuAffParcours.getNbParcours(); libButton=GestionnaireContenuAffParcours.getLib();
Partager