1

Android アプリの検索インターフェイスを再設計しています。Google の API ガイド ( http://developer.android.com/guide/topics/search/search-dialog.html )を赤くしました。

アプリの現在のバージョンでは、従来のシステム検索ダイアログが使用されます。新しいバージョンで提供したいオートコンプリートがありません。

自動補完に関する私の要件: クエリ文字列が 3 文字未満の場合、アプリは、ローカルに保存されている保存されたお気に入りのセットに基づいて検索結果を自動提案する必要があります。クエリが 3 文字以上の場合、検索は検索 API を介してリモートで実行されます。

歴史的に、アプリの最小 API はレベル 7 であるため、Honeycomb の SearchView (API 11+) または ActionBarSherlock SearchView (API 8+) は使用できません。SearchManager が提供する検索ダイアログを使い続けることにしました。

上記のすべての要件を正常に実装しました。

ただし、1 つのことがユーザビリティを低下させます。

ユーザーが検索を開始すると、検索ダイアログにフォーカスが移ります。望ましい動作は、すべてのお気に入りが即座に提案されることです。ただし、これは Froyo (2.2) を実行している私の HTC Legend にのみ当てはまります。私の Galaxy Nexus では、ほとんどの場合、アプリはすぐにすべての提案を表示しません。ユーザーが少なくとも 1 文字を入力するまで、SearchProvider へのコールバックを受け取りません。

私の質問: API 7 以降のすべての Android バージョンで、すぐに提案を表示したり、SearchProvider へのコールバックを取得したりする方法はありますか?

SearchManager (startSearch()) へのさまざまな呼び出しを試みましたが、うまくいきませんでした。

4

0 に答える 0