0

カスタム 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 用にコーディングする必要があり、このプロジェクトでは互換パッケージの使用を避けたいと考えています。

上記のコンストラクターを使用した場合の影響と、その影響を適切に処理する方法の説明、または代替の実装のいずれかを探しています。「現在のカーソルをアダプタから設定解除」するにはどうすればよいですか?

互換性パックを指す関連する質問:

SimpleCursorAdapter の代替品?

どの CursorAdapter を使用する必要がありますか?

4

0 に答える 0