連絡先のスマートなオートコンプリートを行いたいテキスト フィールドがあります。私が使用している電子メール ツールの少なくとも 1 つでは、電子メール アドレス フィールドに名前を入力すると、その文字列がどのフィールドに表示されていても、その文字列を含むオートコンプリート リストが表示されます。つまり、「Amy」と入力すると、 list には、名、姓、会社名、ニックネーム、または電子メール フィールドに Amy が含まれるすべてのレコードが含まれます。
少し検索した後、このようなことを行うコード例を見つけることができませんでした-「アドレス帳」や「連絡先」などの単語を検索すると、探しているものとは関係のない多くのヒットが生成されます為に。
サポートしたい各フィールドをクエリしてリストをマージする力ずくの方法を実行できますが、ユーザーがリアルタイムで入力している間は非常に遅くなると思います。よりエレガントなソリューションを知っている人はいますか?
私は現在 Android バージョンに取り組んでいますが、これが安定したらすぐに iPhone で開始するので、クロスプラットフォーム ソリューションが望ましいでしょう。
ご協力ありがとうございました!-カレン
Cheesbaron のコメント: Cheesebaron への回答として、あなたが参照したスレッドは私の質問に答えていません。フィルターを使用してリストビューを実行する方法の多くの例を見つけました。私がやりたいことは、連絡先リストのどのフィールドにも一致できるようにすることです。これまでに入力した文字列が複数のフィールドに含まれている場合、連絡先は一度だけリストに表示されます。多くのアプリはこれを非常にうまく行っているので、それを実装する「標準的な」方法があることを願っていました。
<!-- language: lang-none -->
For example, if I type "Am" into my email To: line I might see the following
in my list of possible matches:
Amy Mann amy1543@gmail.com
Fred Johnson American Flag Co. fredj@aflagco.com
Mary James mary@yahoo.com
Lost Traveler Somewhere OutThere amithereyet@hotmail.com
リストには、名前、姓、会社名、電子メール アドレスの 4 つのフィールドのいずれかに文字列「am」が含まれるすべての連絡先が含まれます。(理想的には、ニックネーム、および自宅と職場の両方の電子メール アドレスも含める必要があります。) 連絡先データベースは非常に大きくなる可能性があるため、非常に多くのフィールドを動的にフィルタリングすると、おそらく非常に遅くなります。私は、これまで考えていたよりもエレガントなソリューションを誰かが持っていることを望んでいました。
ありがとう!