0

我正在开发一个实现搜索提供程序的应用程序。我试图做到的是,如果一个项目没有在数据库中找到的行为,我想要的东西在搜索建议列表说像Android搜索框架,自定义搜索建议

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

我已经无数次研究这一露面,我已经阅读了所有的Android搜索框架开发人员文档,并且我在Google上搜索无济于事。

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

我也需要让它使得这个项目有一个不同于常规建议的Action Intent,因为我需要它将用户带到一个页面上以将项目添加到数据库中。

这似乎是一个相当合理的事情,包括在一个应用程序,我不知道如果我失去了一些东西。

回答

0

我想通了。我在建议提供商中使用了MatrixCursor。我只是检查查询结果是否等于null,如果是的话,我返回了MatrixCursor。现在这似乎很明显。另外,为了使这个项目做一些不同于从数据库返回的结果,我添加了列为

  SearchManager.SUGGEST_COLUMN_INTENT_ACTION 
     SearchManager.SUGGEST_COLUMN_INTENT_DATA 

给矩阵光标。然后定义Uri和结果的行动意图。然后,在我的搜索活动中,为该特定行为意图添加一个if,然后开始适当的活动。很棒。