Colse cursor setiap kali setelah menggunakan maka masalah Anda akan terpecahkan
itemsCursor.close()
Karena Anda tidak menutup ini, sumber daya kursor tidak dilepaskan karena alasan itu ketika Anda menutup db Anda, Anda mendapatkan kesalahan itu.
Jadikan kursor Anda sebagai variabel global lalu di onDestroy
@Override
protected void onDestroy() {
super.onDestroy();
itemsCursor.close();
db.close();
}
Dan saat Anda menambahkan close pernyataan sebagai pernyataan terakhir dari filldata metode, Adapter dari listview tidak mendapatkan data apa pun sebagai cursor sudah dirilis karena alasan itu Anda tidak mendapatkan data apa pun di listview .