J'ai un Android ListActivity
qui s'appuie sur une base de données Cursor
par le biais d'un SimpleCursorAdapter
.
Lorsque l'on clique sur les éléments, un champ indicateur dans la ligne correspondante de la base de données est basculé et la vue dans la liste doit être mise à jour.
Le problème est que, lorsque la vue qui a été mise à jour sort de l'écran et est recyclée, l'ancienne valeur est affichée sur la vue lorsqu'elle revient à l'écran. La même chose se produit lorsque la liste est redessinée (changement d'orientation, etc.).
J'utilise notifydatasetchanged()
pour rafraîchir l'adaptateur du curseur mais cela semble inefficace.
Comment dois-je mettre à jour la base de données pour que le curseur soit également mis à jour ?