6

我一直在尝试让我的应用程序实现内置的快速搜索,类似于在 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 我想使用自己的自定义代码来处理搜索请求的关键组件。

在这件事上我真的很感激一些帮助。在这方面,文档和其他在线资源似乎都非常缺乏。

谢谢。

4

4 回答 4

10

作为参考,四个月后(天知道有多少次尝试),我找到了我错过的文档部分,它让整个搜索框启动浏览器搜索结果,而不是将它们传递给我的自己的活动。这一切都归结为在这里找到的一个小通知:

请注意,所有用户可见的字符串必须以“@string”引用的形式提供。无法本地化的硬编码字符串将无法在搜索元数据中正常工作。

于 2010-02-23T21:28:43.140 回答
1

尝试先阅读内容。如果这没有帮助,您可以尝试查看我的一本书中的搜索示例——该示例与快速搜索框集成,也许它会为您提供更多线索。

于 2009-10-18T14:17:59.363 回答
0

除了 commonsware.com 提供的示例,您还可以查看 1.6 SDK 的示例目录中的 Searchable Dictionary。

http://developer.android.com/guide/samples/SearchableDictionary/index.html

于 2009-10-18T19:12:21.657 回答
0

我之前错了... SDK 文档在SearchManager的文档中有详尽的解释,我建议您看一下。此外,正如 CommonsWare 所提到的,博客条目也是一个很好的资源。

于 2009-10-19T22:47:05.737 回答