0

さまざまなリスト項目を選択できるようにする強力な方法を見つけるための助けを探しています。私の場合は、たとえば、プロファイルのリスト、チームのリストなどがあります。たとえば、Al と入力すると、次で始まるメンバー変数名を持つすべての Teams および Profiles オブジェクトが表示されるオートコンプリート入力が必要です。アル。その結果、送信クリックが実行されると、リストと、オートコンプリートフォームで選択されたすべてのオブジェクトを含むリストをアクティビティから取得できます。また、入力した文字に一致するユーザーに提供されるリストに、名前と写真が表示されるようにしたいと思います(Facebookのようなタグ選択)。

明らかに、私はいくつかのコードを求めているわけではありませんが、この種のものを作成するために何をすべきか、何をすべきでないかを知っている経験豊富な Android 開発者から少なくともいくつかのガイドラインを求めています。

ありがとう

4

1 に答える 1

0

ローダーは、リストをフィルタリングするための最良の方法の 1 つです。ユーザーが入力するたびに、フィルターに使用される文字列制約を取るローダーを初期化し、制約を更新してローダーを再起動します。

すべてのオブジェクトが SQLite データベースにキャッシュされていると仮定すると、CursorAdapter、Cursor、および CursorLoader を使用できます。EditText の内容でクエリをフィルター処理することにより、必要な CursorLoader を作成します。

CursorLoader に慣れていない場合は、AsyncTaskLoaderがあります。これにより、DB の必要がなくなり、生のクエリを受け入れることができるプロバイダーをコーディングする必要がなくなります。ListA、ListBなどのオブジェクトは共通クラスを継承する必要があります(うーん... DataThingかもしれません:-))、リスト内のオブジェクトを連結すると、リストをフィルタリングできます: Javaコレクションをフィルタリングする最良の方法は何ですか?

これは、データのフィルタリング用です。希望どおりにデータを表示するには、EditText フィールドの下にリストを表示するか、より高度な外観が必要な場合はカスタム コンポーネントを作成します。

于 2013-03-14T09:49:18.183 に答える