Android搜索框架,自定义搜索建议

时间:2012-05-12 21:46:41

标签: java android android-contentprovider android-searchmanager

我正在开发一个实现搜索提供程序的应用程序。我想要完成的行为是,如果在数据库中找不到某个项目,我想在搜索建议列表中显示一个项目,如

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

我已经无休止地研究了这个,我已经阅读了所有的android搜索框架开发者文档,我在Google上搜索无济于事。

我唯一能想到的就是在数据库适配器中,如果没有找到结果,用上面描述的字符串和查询创建MatrixCursor,这看起来有点乱。

我还需要以某种方式使它成为这个项目具有与正常建议不同的Action Intent,因为我需要它将用户带到页面以将项目添加到数据库。

这似乎是一个包含在应用程序中相当合理的事情,我不确定我是否遗漏了一些东西。

1 个答案:

答案 0 :(得分:0)

我想出来了。我在我的建议提供商中使用了MatrixCursor。我刚刚检查了查询的结果是否等于null,如果是,我返回了MatrixCursor。现在这看起来非常明显。另外,为了使这个项目与数据库返回的结果不同,我添加了

         SearchManager.SUGGEST_COLUMN_INTENT_ACTION
         SearchManager.SUGGEST_COLUMN_INTENT_DATA

到矩阵光标。然后定义结果的Uri和动作意图。然后,在我的搜索活动中,只需为该特定操作意图添加一个if,然后启动相应的活动。效果很好。

相关问题