E/Cursor(1130): Finalizing a Cursor that has not been deactivated or closed

Contoh Kasus:

Saat saya menjalankan sebuah aplikasi android lalu keluar warning seperti berikut ini:

E/Cursor(1130): Finalizing a Cursor that has not been deactivated or closed
E/Cursor(1130): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

Ini adalah error yang disebabkan oleh sebuah Cursor dari querymu yang belum ditutup.

Pertanyaan:

Bagaimana cara memperbaikinya … ?

Jawaban:

Kamu bisa gunakan kode berikut ini:

public void onPause(){ 

super.onPause();

if(!variabelCursor.isClosed())

variabelCursor.close();

}

public void onDestroy(){

super.onDestroy();

if(!variabelCursor.isClosed())

variabelCursor.close();

}

Keterangan:

  • Metode isClosed() digunakan untuk memeriksa apakah objek Cursor sudah ditutup atau belum, jika sudah ditutup maka metode ini akan memberikan nilai boolean true.
  • Metode close() digunakan untuk menutup objek Cursor.

 

Jika tutorial ini bermanfaat silahkan katakan ‘Terima Kasih Fahmi Basya Kartapura’.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *