我正在开发一个实现搜索提供程序的应用程序。我想要完成的行为是,如果在数据库中找不到某个项目,我想在搜索建议列表中显示一个项目,如
"select to add " + query + " to the database".
我已经无休止地研究了这个,我已经阅读了所有的android搜索框架开发者文档,我在Google上搜索无济于事。
我唯一能想到的就是在数据库适配器中,如果没有找到结果,用上面描述的字符串和查询创建MatrixCursor
,这看起来有点乱。
我还需要以某种方式使它成为这个项目具有与正常建议不同的Action Intent,因为我需要它将用户带到页面以将项目添加到数据库。
这似乎是一个包含在应用程序中相当合理的事情,我不确定我是否遗漏了一些东西。
答案 0 :(得分:0)
我想出来了。我在我的建议提供商中使用了MatrixCursor。我刚刚检查了查询的结果是否等于null,如果是,我返回了MatrixCursor。现在这看起来非常明显。另外,为了使这个项目与数据库返回的结果不同,我添加了
列 SearchManager.SUGGEST_COLUMN_INTENT_ACTION
SearchManager.SUGGEST_COLUMN_INTENT_DATA
到矩阵光标。然后定义结果的Uri和动作意图。然后,在我的搜索活动中,只需为该特定操作意图添加一个if,然后启动相应的活动。效果很好。