Bonjour,
J'aimerais afficher dans une vue, 2 colonnes : une colonne "date", et une colonne "formations".
Ces données sont récupérées grâce à une requête.
Mon problème : je ne sais pas s'il faut que j'utilise une liste, ou un tableau, je n'arrive pas non plus à afficher mon tableau ou ma liste (j'ai essayé avec les 2).
Mon 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 //Création d'un tableau à 2 colonnes private String[][] lesFormations = {}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message_formations_proposees); final DataBaseHelper myDbHelper = new DataBaseHelper(this); //Tests sur la création et l'ouverture de la base de données try { myDbHelper.createDataBase(); Log.i("test", "createDataBase" ); } catch (IOException ioe){ throw new Error("Unable to create database" ); } try { myDbHelper.openDataBase(); Log.i("test", "openDataBase" ); } catch(SQLException sqle){ throw sqle; } SQLiteDatabase db = myDbHelper.getReadableDatabase(); //Récupération de la liste créée dans la vue //ListView listeFormations = (ListView) findViewById(R.id.lvFormationsProposees); //Exécution de la requête récupérant la description et la date de chaque formation dans la table Formations de la base de données String reqVerif = "select description, date from Formations;"; Cursor resultat = db.rawQuery(reqVerif, null); //On crée 2 integers : nbResultats qui prend pour valeur le nombre d'occurrences renvoyés par la requête et i, un compteur int nbResultats = resultat.getCount()-1; int i; Log.i("test", String.valueOf(nbResultats)); //On se place au niveau de la première occurrence resultat.moveToFirst(); //On fait une boucle For : pour i allant de 0 à nbResultats, on ajoute les occurrences retournées par la requête au tableau for (i=0; i<=nbResultats; i++) { Log.i("test", String.valueOf(i)); Log.i("test", resultat.getString(0)); Log.i("test", resultat.getString(1)); lesFormations[i][0] = resultat.getString(0); lesFormations[i][1] = resultat.getString(1); resultat.moveToNext(); } //listeFormations.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, lesFormations)); System.out.println(lesFormations); }
Les commentaires en rouge représentent ce que j'ai essayé avec les listes (à la place du system.out.println(lesFormations) )
ça me met un force to close avec la liste, et un écran noir avec le tableau...
Merci !
Partager