Välj din cursor
varje gång efter användning kommer ditt problem att lösas
itemsCursor.close()
Eftersom du inte stänger detta frigörs inte markörens resurser av den anledningen när du stänger din db får du det felet.
Gör din markör som global variabel och sedan på din onDestroy
@Override
protected void onDestroy() {
super.onDestroy();
itemsCursor.close();
db.close();
}
Och när du nu lägger till close
sats som en sista sats av filldata
metoden, Adapter
av listview
får ingen data som cursor
är redan släppt av den anledningen får du ingen data i listview
.