の助けを借りて、時間のかかるデータベース操作をバックグラウンドスレッドに入れようとしていますAsyncTask
。AsyncTask
可能なデバイスローテーションを処理するために、インスタンスをに保存し、onRetainNonConfigurationInstance()
で再利用しますonCreate()
。ここまでは順調ですね...
ただし、アクティビティはデバイスのローテーション後に再作成されるためActivity
、自分のすべての参照をAsyncTask
新しく作成されたものに更新する必要があります。問題は、SQLiteOpenHelper
内部にAsyncTask
もコンストラクターを介して渡されるコンテキストインスタンスがあり、Activity
前に古いインスタンスを渡したところですが、どうすれば新しいインスタンスに更新できActivity
ますか?
私はテストしました、それは私がの文脈を更新しなくてもうまくいくようですSQLiteOpenHelper
。しかし、それが大丈夫かどうかはまだわかりません。
ありがとう