Zamknij swój cursor
za każdym razem po użyciu problem zostanie rozwiązany
itemsCursor.close()
Ponieważ tego nie zamykasz, zasoby kursora nie są zwalniane z tego powodu, gdy zamykasz bazę danych, otrzymujesz ten błąd.
Ustaw kursor jako zmienną globalną, a następnie na swoim onDestroy
@Override
protected void onDestroy() {
super.onDestroy();
itemsCursor.close();
db.close();
}
A ponieważ teraz dodajesz close
oświadczenie jako ostatnia instrukcja filldata
metoda, Adapter
z listview
nie pobiera żadnych danych jako cursor
jest już wydany z tego powodu nie otrzymujesz żadnych danych w listview
.