SQLite
 sql >> Database >  >> RDS >> SQLite

Close non è mai stato chiamato in modo esplicito su Database

Colse il vostro cursor ogni volta dopo l'uso il tuo problema verrà risolto

itemsCursor.close()

Poiché non lo stai chiudendo, le risorse del cursore non vengono rilasciate per questo motivo quando chiudi il tuo db ricevi quell'errore.

Rendi il cursore come variabile globale quindi sul tuo onDestroy

@Override
protected void onDestroy() {
    super.onDestroy();
    itemsCursor.close();
    db.close();
}

E ora stai aggiungendo close istruzione come ultima istruzione di filldata metodo, l'Adapter di listview non ottiene alcun dato come cursor è già stato rilasciato per questo motivo non stai ricevendo alcun dato in listview .