SQLite
 sql >> Base de données >  >> RDS >> SQLite

Close n'a jamais été explicitement appelé sur la base de données

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 .