题
我一直在尝试使我的应用程序实现内置的快速搜索,类似于Apidemos的“应用/搜索/调用搜索”中的应用程序。我尝试了从尝试遵循不同的示例到完全像ApideMos中的代码一样,尝试了所有内容。
我为前者发现的只是与SDK的较旧版本有关,根本不起作用。至于我实际上可以运行并在ApideMos工作的东西,我尝试复制以下内容
com.example.android.apis.app.SearchInvoke.java
com.example.android.apis.app.SearchQueryResults.java
com.example.android.apis.app.SearchSuggestionSampleProvider.java
res/layout/search_invoke.xml
res/layout/search_query_results.xml
res/values/arrays.xml
res/values/strings.xml
res/xml/searchable.xml
... and everything under "Search Samples" in AndroidManifest.xml
这种复制使我看到了一个视图,看起来完全像我在运行ApideMos时面对的视图,但是当我在快速搜索框中单击搜索按钮时,Android始终只打开浏览器窗口,并带有Google搜索结果。询问。我根本找不到ApideMos中的关键组件,告诉Android我想使用自己的自定义代码来处理搜索请求。
在此问题上,我真的很感谢您的帮助。在此方面,文档和其他在线资源似乎都缺乏。
谢谢。
解决方案
作为参考,四个月(上帝知道了多少次尝试),我发现了我错过的文档的一部分,整个搜索框都表现出了浏览器搜索结果,而不是将它们传递给我自己的活动。这一切都归结为发现了一点通知 这里:
请注意,所有用户可见字符串都必须以“ @String”参考的形式提供。无法本地化的硬编码字符串在搜索元数据中无法正常工作。
其他提示
除了Commonsware.com提供的示例外,您还可以查看1.6 SDK的示例目录中的可搜索字典。
http://developer.android.com/guide/samples/searchabledictionary/index.html
我以前错了... SDK文档在文档中有一个解释 SearchManager 我建议您看看。另外,正如Commonsware所述, 博客条目 也是一个很好的资源。
不隶属于 StackOverflow