最初にいくつかの背景。
アイテムの編集アクティビティで、アイテムのデータフィールドの1つを変更するための検索機能を追加しました。(そのメーカーとメーカー)。ユーザーは非常に多くのアイテムから選択できるため、メーカー/モデルを変更するための提案を含む検索を使用することにしました。
通常のAndroid検索を使用して、編集アクティビティからメソッドをオーバーライドしonSearchRequested()
、現在のアイテムのIDを追加データの一部として追加できます。データ項目の実際の更新は、検索アクティビティで行われます。(私は知っていますが、最善のアイデアではありませんが、私の編集アクティビティは、ユーザーが検索アクティビティで何をしたかを知りません。)
これは単純な検索では問題なく機能しますが、検索候補のこのコンテキストデータ(アイテムのID)を挿入する場所が見つからないようです。
私はAndroidドキュメントを読みましたが、最も近いのは提案の結果の行のSUGGEST_COLUMN_INTENT_EXTRA_DATA列ですが、検索コンテンツプロバイダーにも編集中のアイテムのコンテキストがないため、表示されません。それが私の問題を解決するように。インテントはまだAndroidシステムの提案から起動されており、必要なコンテキスト情報を追加できないようです。
検索の提案がコンテキストレスのグローバル検索、つまりAndroidのクイック検索に向けられているように思われる場合、これは可能ですか?
完全を期すために、Android 3.0未満のプラットフォームを対象としているため、SearchViewの機能は利用できません。