Honeycomb以降でcursorを扱う

startManagingCursorはdeprecatedになったので、Honeycomb以降のandroidでは以下のような例外が発生する。

java.lang.RuntimeException: Unable to resume activity
java.lang.IllegalStateException: trying to requery an already closed cursor android.database.sqlite.SQLiteCursor@40740c58

LoaderManagerとCursorLoaderを使うか、自前でcursor.close()を呼び出すかしなければならない。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です