代码之家  ›  专栏  ›  技术社区  ›  David Hedlund

android应用程序搜索按钮

  •  6
  • David Hedlund  · 技术社区  · 16 年前

    我一直在尝试让我的应用程序实现内置的快速搜索,类似于ApiDemos的“app/search/invoke search”中的做法。我尝试了一切,从尝试遵循不同的示例,到完全按照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总是打开一个浏览器窗口,显示给定查询的谷歌搜索结果。我无法在ApiDemos中找到告诉android我想使用自己的自定义代码来处理搜索请求的关键组件。

    在这件事上,我真的非常感谢你的帮助。说到这一点,文档和其他在线资源似乎都非常缺乏。

    谢谢

    4 回复  |  直到 16 年前
        1
  •  10
  •   David Hedlund    16 年前

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

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

        2
  •  1
  •   CommonsWare    16 年前

    试着阅读 this 第一。如果这没有帮助,您可以尝试查看 search example 从我的一本书中,这个例子与快速搜索框集成在一起,也许它会给你更多的线索。

        4
  •  0
  •   Jeremy Logan    16 年前

    我以前是错的。。。SDK文档在文档中对 SearchManager blog entry 也是一个很好的资源。