bonjours, je suis toujours en plein apprentissage de l'emplois de sqlite sur android. J'ai un autre petit soucis, je souhaite afficher le texte d'un spinner remplis via un cursor. Le probleme quand j'emploie le
c'est qu'il m'affiche le numéros de l'index sélectionné et pas les données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 nomDuSPinner.getSelectedItem().toString();
Je me suis dit que pour résoudre ce problème je pouvais donc prendre toutes les informations et les écrire dans un objet[] , puis de remplir le spinner avec cet objet et de prendre comme cela les données écrites dans le spinner. Ci quelqu'un à une meilleur idée je suis preneur.
Au moment ou je prend ce qui est écrit dans dans l'index et l'affiche dans l'objet il plante.l'erreur est de type NullPointerException.Il me plante à la ligne 21. Le code est pris est inspiré directement du tutoriel sur sqlite. J'ai l’impression qu'il y a des base dans la programmation orienté objet que je n'ai pas compris mais je ne vois pas quoi.
voici le code
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 public Objet[] getObjetDescription2(){ Cursor c = bdd.query("nom de la table", new String[] {"rowid _id", "description", "id"},null, null, null, null, null); return nomFonction(c); } private Objet[] nomFonction(Cursor c){ //si aucun élément n'a été retourné dans la requête, on renvoie null if (c.getCount() == 0) return null; //Sinom on se place sur le premier élément c.moveToFirst(); int compteur = c.getCount(); Objet[] objet = new Objet[100]; int i = 0; do{ //on lui affecte toutes les infos grâce aux infos contenues dans le Cursor objet[i].setDescription(c.getString(2)); objet[i].setId(c.getInt(1)); i++; }while(i >= compteur); //On ferme le cursor c.close(); return objet; }
Partager