I現在、多額/修正するAndroidアプリを書き換えて、私は次の行に沿って非常に時折クラッシュを見てきましたよ:CursorAdapter
メソッドが呼び出され、それがAbstractWindowedCursor#checkPosition()
を呼び出し、:途中でcursor.close()を呼び出す以外にStaleDataExceptionが発生する原因は何ですか?
02-20 15:03:18.180 E/AndroidRuntime(17143): android.database.StaleDataException: Attempting to access a closed CursorWindow.Most probable cause: cursor is deactivated prior to calling this method.
02-20 15:03:18.180 E/AndroidRuntime(17143): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:139)
02-20 15:03:18.180 E/AndroidRuntime(17143): at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:74)
02-20 15:03:18.180 E/AndroidRuntime(17143): at android.database.CursorWrapper.getLong(CursorWrapper.java:106)
02-20 15:03:18.180 E/AndroidRuntime(17143): at android.widget.CursorAdapter.getItemId(CursorAdapter.java:220)
トラブルされ、我々は、 Cursor
を閉じていません。当社のすべてのCursor
は、CursorLoader
から来ており、ContentProvider
によって製造されています。私たちは、LoaderCallbacks
からそれぞれCursorAdapter
にCursor
を渡している、我々はContentProvider
に通知のCursor
を登録している、我々は要するに、私はできません...各insert(...)
、delete(...)
とupdate(...)
からContentResolver
を通知しています使用中にCursor
が閉じられる理由を見つけてください。
So:は他にもありますの原因はStaleDataException
ですか?
それはあなたのため、しばらくしています尋ねられましたが、何らかの理由でFilterQueryProviderが関与していましたか? –
ヘイ・アンドリュー!解決策を見つけられましたか? – TheLittleNaruto