Mon problème est assez difficile a expliquer :
J'ai des données dans une base SQLite.
Je récupère les élément d'une table et j'affiche ces données dans une listview à l'aide d'un fichier XML personnalisé pour mettre en forme ces objets.
J'aimerais agir sur chaque objet qui va se créer pour pouvoir personnaliser le background de chaque objet en fonction d'une donnée dans la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public void DataBind(){ Cursor c = db.recupererInfo(); startManagingCursor(c); SimpleCursorAdapter adapter = new SimpleCursorAdapter(this.getBaseContext(), R.layout.recup_listinfo, c, new String[]{"numero", "heure_depart", "ville_depart", "heure_arrivee", "ville_arrivee", "destination", "nb_pers"}, new int[]{R.id.textNumero, R.id.textHeureDepart, R.id.textVilleDepart, R.id.textHeureRetour, R.id.textVilleRetour, R.id.textDestination, R.id.textNbPers} ); listview.setAdapter(adapter); listview.setOnItemClickListener(this); }
J'illustre mon problème par un morceau de code que j'avais imaginé :
Pour chaque élément :
La méthode "startManagingCursor(c)" semble s’exécuter en une seule fois, non pas ligne par ligne, comment personnaliser chaque objet si tout se fait en une fois ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 RelativeLayout cadreCouleur; cadreCouleur = ((RelativeLayout)this.findViewById(R.id.cadreCouleur)); while(i < tailleCursor) { c.moveToPosition(i); if(c.getString(9) != "") { cadreCouleur.setBackgroundColor(R.color.red); } i++; }
Partager