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
.