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 回答