9

CursorAdapterには3つのコンストラクターがあります。ガイドとリファレンスを見てみましょう。

1)CursorAdapter(コンテキストコンテキスト、カーソルc)

このコンストラクタは非推奨です。このオプションは、アプリケーションのUIスレッドでカーソルクエリが実行される結果となり、応答性が低下したり、アプリケーションが応答しないエラーが発生したりする可能性があるため、お勧めしません。別の方法として、CursorLoaderでLoaderManagerを使用します。

2)CursorAdapter(コンテキストコンテキスト、カーソルc、ブール値のautoRequery)

自動再クエリの制御を可能にするコンストラクター。これを使用せず、代わりにCursorAdapter(Context、Cursor、int)を使用することをお勧めします。

3)CursorAdapter(コンテキストコンテキスト、カーソルc、intフラグ)

推奨されるコンストラクター。

フラグ アダプタの動作を決定するために使用されるフラグ。FLAG_AUTO_REQUERYとFLAG_REGISTER_CONTENT_OBSERVERの任意の組み合わせにすることができます。

FLAG_AUTO_REQUERY この定数は非推奨です。このオプションは、アプリケーションのUIスレッドでカーソルクエリが実行される結果となり、応答性が低下したり、アプリケーションが応答しないエラーが発生したりする可能性があるため、お勧めしません。別の方法として、CursorLoaderでLoaderManagerを使用します。

FLAG_REGISTER_CONTENT_OBSERVER。CursorLoaderでCursorAdapterを使用する場合、このフラグは必要ありません。

CursorAdapter(Context context、Cursor c、int flags)が推奨されるコンストラクターですが、カーソルローダーでCursorAdapterを使用する場合、可能なフラグは2であり、1つは非推奨であり、もう1つは必要ありません。CursorLoaderでCursorAdapterを使用する場合、このコンストラクターを使用して、フラグとしてゼロを渡す必要がありますか?そしてこの場合、コンストラクターは#1と同じ非推奨ですか?

4

3 に答える 3

6

#1を使用すると、アダプターはデフォルトで自動再照会になります。これは、自動再クエリを行うかどうかを指定できるため、#3とは異なります(ドキュメントによると、そうすべきではありません)。したがって、#3コンストラクター0を渡した場合、#1と#3は同じではありません。

于 2011-11-20T22:26:35.697 に答える
1

CursorAdapterは抽象クラスであるため、インスタンス化できません。

また、3番目のコンストラクターはAPI11以降のみであることに注意してください。

于 2011-11-20T22:29:03.363 に答える
0

LoaderManagerとLoaderを使用して移行する必要があります。

ほとんどの場合、すべてが非推奨になるためです。LoaderManagerおよびLoaderと一緒にCursorLoaderを使用する方がよい

サンプルプロジェクトは、任意の電話にインストールされているアプリのリストを取得する以下のリンクにあります。

https://github.com/alexjlockwood/AppListLoader.git

幸運を..

于 2013-10-25T12:46:05.580 に答える