我有一个应用程序在 2.1 之后的所有版本的 android 上都可以正常工作,但在 android 4.2 上已经停止工作。
应用程序持有对 Application 中游标的引用,并在 onTerminate 调用中关闭游标。游标只填充一次来自 SQLite 数据库的数据,该数据库在应用程序中也保持打开状态,直到 onTerminate。
光标中的数据永远不会改变,但它用于填充具有覆盖的值数组的 viewpager,以更改 viewpager 中数据的位置。
错误如下:
11-19 05:29:20.600: E/AndroidRuntime(993): 致命异常: main 11-19 05:29:20.600: E/AndroidRuntime(993): android.database.StaleDataException: Attempting to access a closed CursorWindow.Most可能的原因:在调用此方法之前,游标已停用。11-19 05:29:20.600: E/AndroidRuntime(993): 在 android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:139) 11-19 05:29:20.600: E/AndroidRuntime(993): 在 android. database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50) 11-19 05:29:20.600: E/AndroidRuntime(993): at com.ololifepty.wildlife.ReorderingCursorWrapper.getString(ReorderingCursorWrapper.java:71) 11-19 05: 29:20.600: E/AndroidRuntime(993): 在 com.ololifepty.wildlife.AnimalPageCursorAdapter.instantiateItem(AnimalPageCursorAdapter.java:128) 11-19 05:29:20.600:
光标似乎正在关闭,但我不知道为什么。如果有人能指出我正确的方向,我会非常感激,因为模拟器的调试速度非常慢。