我正在尝试在同一应用程序中的全局搜索中实现recent suggestions和custom suggesions。它们都在提供程序中使用相同的路径,因此似乎不可能为它们返回不同的结果。例如,最近在快速搜索框中搜索建议和实际搜索结果。
关于如何做到这一点的任何想法?
答案 0 :(得分:1)
查看searchable config文档,看起来您应该能够使用不同的android:searchSuggestPath值来消除两者之间的歧义。
答案 1 :(得分:0)
这是可能的,但它需要一些解决方法。我还没有在多个平台上对此进行全面测试,但这是我的实现:Collectionista SearchRecentSuggestionsContentProvider.java
由于最近的建议是最严格的,您必须使用自定义建议所需的提供程序包装其提供程序,并为最近的建议调用进行传递。
重要的是要了解您不必复制searchable.xml
,也不必复制清单中的任何块。你使用相同的权限。
此外,最近的建议限制您使用android:searchSuggestSelection=" ?"
,因此您必须在提供商中处理自定义建议查询。您可能希望使用android:searchSuggestPath
,因此请了解最近建议的查询到达该Uri,并且需要重新获得无路径的Uri。
这两个建议的显示方式与通过同一光标返回的方式相同。
如果你发现任何错误,请你好好向我报告?