无法解析 AutocompleteFilter.create

Posted

技术标签:

【中文标题】无法解析 AutocompleteFilter.create【英文标题】:cannot resolve AutocompleteFilter.create 【发布时间】:2018-06-19 20:24:40 【问题描述】:

我正在尝试使用此代码过滤来自 google 地方的自动填充结果:

List<Integer> filters = new ArrayList<Integer>();   
filters.add(AutocompleteFilter.TYPE_FILTER_ADDRESS);
filters.add(AutocompleteFilter.TYPE_FILTER_CITIES);
mAutocompleteFilter = AutocompleteFilter.create(filters);

但它 方法。

build.gradle:

compile "com.google.android.gms:play-services-maps:11.4.2"
compile "com.google.android.gms:play-services-auth:11.4.2"
compile "com.google.android.gms:play-services-location:11.4.2"
compile "com.google.android.gms:play-services-places:11.4.2"

是因为版本 11.4.2 的原因吗?我不想降级。在此 AutocompleteFilter 中是否有其他替代方法可以使用多个整数?

【问题讨论】:

【参考方案1】:

没有create 方法,而是使用AutocompleteFilter.Builder

From Docs

使用 AutocompleteFilter.Builder 创建一个新的 AutocompleteFilter。

mAutocompleteFilter = new AutocompleteFilter.Builder()
        .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
        .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS)
        .build();

【讨论】:

AutocompleteFilter.Builder 在其方法中只接受一个过滤器,我需要 TYPE_FILTER_ADDRESS 和 TYPE_FILTER_CITIES 的组合。 :-( 那怎么可能呢? @mKosut 请刷新页面并尝试代码,或者您也可以使用TYPE_FILTER_REGIONS 感谢您的回答。但是,您编写的代码仅将 typeFilter 从 CITIES 重新设置为 ADDRESS。所以它只接受最后一个,在这种情况下是 TYPE_FILTER_ADDRESS。并且 TYPE_FILTER_REGIONS 包括 TYPE_COUNTRY。我需要从我的自动完成功能中排除国家/地区。 @mKosut 没有其他选项可以同时应用这两个过滤器,其他方式是您可以创建自己的自定义类来实现您的目标【参考方案2】:

似乎无法通过AutocompleteFilter 应用多个过滤器,但您可以在每个单独的place type 上使用PlaceSearch 来代替它:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=LAT,LON&radius=RADIUS&type=PLACE_TYPE, e.g. restaurant&keyword=cruise&key=YOUR_API_KEY

【讨论】:

以上是关于无法解析 AutocompleteFilter.create的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 无法解析域名

无法解析的外部符号 C++

C++无法解析的外部命令和外部符号

无法解析的外部符号

ACE编程,无法解析外部符号

error LNK2001: 无法解析的外部符号