0

検索プロバイダーを実装するアプリケーションを開発しています。私が達成しようとしている動作は、データベースにアイテムが見つからない場合、次のような検索候補リストにアイテムを表示することです

"select to add " + query + " to the database".

私はこれを際限なく調査してきました。Android検索フレームワークの開発者向けドキュメントをすべて読みましたが、Googleで検索しても役に立ちませんでした。

これを達成するために私が考えることができた唯一のことは、データベースアダプターでした。結果が見つからない場合は、MatrixCursor上記の文字列とクエリを使用して作成しますが、これは少し面倒です。

また、アイテムをデータベースに追加するためにユーザーをページに移動させる必要があるため、このアイテムが通常の提案とは異なるアクション インテントを持つようにする必要もあります。

これは、アプリケーションに含めるのにかなり合理的なもののように思えますが、何かが欠けているかどうかはわかりません。

4

1 に答える 1

0

私はこれを理解しました。提案プロバイダーで MatrixCursor を使用しました。クエリの結果が null に等しいかどうかを確認しました。そうであれば、MatrixCursor を返しました。今、これは非常に明白に思えます。また、このアイテムをデータベースから返された結果とは異なることをさせるために、列を追加しました

         SearchManager.SUGGEST_COLUMN_INTENT_ACTION
         SearchManager.SUGGEST_COLUMN_INTENT_DATA

マトリックスカーソルに。次に、結果の Uri とアクション インテントを定義します。次に、私の検索アクティビティで、その特定のアクション インテントの if を追加してから、適切なアクティビティを開始します。よく働く。

于 2012-05-14T14:27:40.083 に答える