You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法解析AutocompleteFilter.create方法,求11.4.2版本多类型过滤替代方案

解决Google Places自动补全多类型过滤的问题

嘿,我来帮你搞定这个问题!

首先,你遇到的AutocompleteFilter.create(List<Integer>)无法解析的问题,确实是因为11.4.2版本的Play Services Places库还没有这个方法——这个接受整数列表的重载是后续版本才新增的,所以在11.4.2里找不到很正常。

不过不用降级,咱们有更适合这个版本的方案:利用类型常量的位掩码特性,通过**按位或(|)**把多个类型组合起来,再用AutocompleteFilter.Builder来构建过滤器。

具体实现代码

// 直接用Builder+按位或组合多个类型
AutocompleteFilter mAutocompleteFilter = new AutocompleteFilter.Builder()
    .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS | AutocompleteFilter.TYPE_FILTER_CITIES)
    .build();

原理说明

Google Places的这些TYPE_FILTER_*常量本质是int类型的位掩码,每个类型对应二进制里的某一位。用|操作符把它们合并后,过滤器就会同时匹配所有指定的类型,完全能达到你想要的多类型过滤效果。而且这个方式在11.4.2版本是完全支持的,官方当时的Builder.setTypeFilter()方法就设计成接受组合后的位掩码值。

如果之后你升级到更高版本(比如16.0.0及以上),就可以直接用AutocompleteFilter.create(List<Integer>)的方法,但就目前的11.4.2版本来说,上面的Builder方案是最稳妥的替代方案。

内容的提问来源于stack exchange,提问作者mKosut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:44:03