Can someone explain to me this StaleDataException
07-11 19:58:23.298 E/AndroidRuntime( 1044): Uncaught handler: thread main exiting due to uncaught exception
07-11 19:58:23.368 E/AndroidRuntime( 1044): android.database.StaleDataException: Access closed cursor
07-11 19:58:23.368 E/AndroidRuntime( 1044): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:217)
07-11 19:58:23.368 E/AndroidRuntime( 1044): at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:84)
07-11 19:58:23.368 E/AndroidRuntime( 1044): at android.database.CursorWrapper.getInt(CursorWrapper.java:128)
When and how do we need to assure a requiry on the cursor, and why fails with this Exception?
You are trying to retrieve information from a Cursor
that has already been closed. You must verify whether the cursor is closed or not by using the isClosed
method.
You can't close the cursor until CursorAdapter is no longer needed. So you can close it in onDestroy() method:
@Override
public void onDestroy() {
super.onDestroy();
//Close the cursor
cursor.close();
//Close the database
database.close();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With