【问题标题】:Limiting number of queries to ContentProvider in SearchView在 SearchView 中限制对 ContentProvider 的查询次数
【发布时间】:2013-01-31 22:35:08
【问题描述】:

我有一个自动完成 SearchView,它通过搜索 API 进行管理,并显示位置列表作为建议。 数据由远程GAE 应用程序 中的ContentProvider 提供。

我遇到的问题是SearchView 对用户按下的每个字母进行查询。

例如,对于 New York,它会进行 8 次查询,我想限制这一点,因为很多查询都被浪费了,因为网络延迟大于用户输入延迟,例如询问“新”在收到“Ne”之前。

我会喜欢一种更智能的行为,就像其他搜索组件一样,这些组件有一些逻辑,可以在用户主动输入时不执行太多查询。

PD:使用 Searchable API 或提供程序的解决方案会更好,因为我在较新的 Android 版本中使用 SearchView,在较旧的版本中使用搜索对话框。

【问题讨论】:

    标签: android android-contentprovider android-searchmanager


    【解决方案1】:

    您至少可以通过指定来限制为开始搜索而键入的最少字符数:

    android:searchSuggestThreshold
    

    在可搜索的配置中

    【讨论】:

    • 我已经知道了。但这不是我想要的。事实上我把它归零是因为当没有任何文字时我会给出一些特别的建议。
    • 我限制我发出的请求数量的方法是缓存结果,特别是考虑到当用户磁带来回频繁,所以我总是首先检查缓存并最终访问服务器。缓存也很好,因为如果用户拼错单词,我会返回缓存中的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多