安卓应用搜索按钮

标签 android quick-search

我一直在努力让我的应用实现内置的快速搜索,类似于 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 时看到的完全一样的 View ,但是当我单击搜索按钮时,在快速搜索框中,Android 总是只打开一个浏览器窗口,其中包含 Google 搜索结果对于给定的查询。我根本无法在 ApiDemos 中找到告诉 android 我想使用我自己的自定义代码来处理搜索请求的关键组件。

我真的很感激能在这件事上提供一些帮助。就此而言,文档和其他在线资源似乎都非常缺乏。

谢谢。

最佳答案

作为引用,四个月后(天知道尝试了多少次),我发现了我错过的文档部分,整个搜索框的行为会触发浏览器搜索结果,而不是通过他们参加我自己的 Activity 。这一切都归结为发现了一个小通知here :

Note that all user-visible strings must be provided in the form of "@string" references. Hard-coded strings, which cannot be localized, will not work properly in search metadata.

关于安卓应用搜索按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1584940/

相关文章:

java - 迭代 HTML 标签

android - Cordova 通知中的多行消息

java - 如何在2个不同的java文件中使用getter和setter方法

java - 从ArrayList获取自定义类

java - 如何从具有不同项目的 ListView 中打开来自同一 Activity 的不同网页?

java - IntelliJ iDEA 中有快速搜索工具吗?

algorithm - 无序集合的中位数

android - 从网络资源中搜索建议到快速搜索框中