Fermez votre cursor
chaque fois après utilisation, votre problème sera résolu
itemsCursor.close()
Comme vous ne fermez pas ceci, les ressources du curseur ne sont pas libérées pour cette raison lorsque vous fermez votre base de données, vous obtenez cette erreur.
Faites de votre curseur une variable globale puis sur votre onDestroy
@Override
protected void onDestroy() {
super.onDestroy();
itemsCursor.close();
db.close();
}
Et comme vous ajoutez maintenant close
instruction comme dernière instruction de filldata
méthode, l'Adapter
de listview
ne reçoit aucune donnée en tant que cursor
est déjà publié pour cette raison, vous n'obtenez aucune donnée dans listview
.