J'essaie d'alimenter une ListView avec une colonne provenant d'une base de données. J'y parviens, mais le problème est que je voudrais utiliser une ressource de mise en page différente selon que l'identifiant correspond à un PendingIntent.
Il s'agit de vérifier si une alarme existe avec le rowid, et je prévois d'avoir un retour visuel dans le listview pour montrer à l'utilisateur quelles alarmes existent. Je peux vérifier avec succès le rowid par rapport à PendingIntents et obtenir un retour booléen.
Le problème auquel je suis confronté est de remplir la ListView avec des ressources de mise en page différentes pour les différentes lignes (est-ce même possible ?) et je n'ai aucune idée de la marche à suivre.
J'ai actuellement le code suivant :
for(int x = 0; x < numNotes; x++) {
if(existAlarm(intarray[x])){
String[] from = new String[] { TodoDbAdapter.KEY_SUMMARY };
int[] to = new int[] { R.id.label1};
cursor = dbHelper.fetchTodo(intarray[x]);
SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
R.layout.todo_row_green, cursor, from, to);
setListAdapter(notes);
} else if (!existAlarm(intarray[x])){
String[] from = new String[] { TodoDbAdapter.KEY_SUMMARY };
int[] to = new int[] { R.id.label};
cursor = dbHelper.fetchTodo(intarray[x]);
SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
R.layout.todo_row, cursor, from, to);
setListAdapter(notes);
}
}
Mais le ListView ne montre que la dernière entrée de la base de données de la boucle.
Je vous serais très reconnaissant de me donner des conseils, merci.