カスタム CursorAdapter を適切に動作させようとしています。私のコードは現在うまく機能しているようです。しかし、Androidのドキュメントに基づいて、微妙な方法で間違っている可能性があると思います.
public class MyArrayAdapter extends CursorAdapter {
public MyArrayAdapter(Activity context, Cursor cursor) {
super(context, cursor, false);
....
}
...
}
そのコンストラクターのコメントは次のとおりです。
「自動再クエリを制御できるコンストラクター。これを使用しないで、代わりに CursorAdapter(Context, Cursor, int) を使用することをお勧めします。このコンストラクターを使用すると、FLAG_REGISTER_CONTENT_OBSERVER が常に設定されます。」
FLAG_REGISTER_CONTENT_OBSERVER ドキュメントには次のように書かれています。
「このフラグを使用するときは注意してください。登録されたオブザーバーによるリークを避けるために、アダプターから現在のカーソルを設定解除する必要があります。」
これはよく知られた問題であることが判明しましたが、私が見たすべての提案された代替案は、互換性パッケージまたは API11 を指しています。v2.1 用にコーディングする必要があり、このプロジェクトでは互換パッケージの使用を避けたいと考えています。
上記のコンストラクターを使用した場合の影響と、その影響を適切に処理する方法の説明、または代替の実装のいずれかを探しています。「現在のカーソルをアダプタから設定解除」するにはどうすればよいですか?
互換性パックを指す関連する質問: