Сколете вашия cursor
всеки път след употреба проблемът ви ще бъде решен
itemsCursor.close()
Тъй като не затваряте това, ресурсите на курсора не се освобождават поради тази причина, когато затворите своя db, получавате тази грешка.
Направете курсора си като глобална променлива, след това във вашия onDestroy
@Override
protected void onDestroy() {
super.onDestroy();
itemsCursor.close();
db.close();
}
И тъй като сега добавяте close
изявление като последен израз на filldata
метод, Adapter
на listview
не получава никакви данни като cursor
вече е пуснат поради тази причина не получавате никакви данни в listview
.