您可以创建自定义地点类型以在Google地方自动填充功能中返回吗?

时间:2018-02-05 04:51:52

标签: java android autocomplete

我在Android上使用Google Places Api。我需要将搜索结果限制在足球/足球场,但似乎并没有将结果限制在这种类型的地方。

以下是Google的文档:https://developers.google.com/places/android-api/supported_types

那么有没有办法为自动填充搜索结果创建自定义过滤器?如果无法通过Google的自动填充功能完成此操作,是否还有其他可能将搜索结果过滤到足球/足球领域?

2 个答案:

答案 0 :(得分:0)

您可以在过滤/确认的足球场的火力库中构建自己的存储库,然后使用此列表作为自动完成视图的源。

答案 1 :(得分:0)

您可以使用Filterable来过滤结果。我不熟悉API,但这可能有所帮助。改变满足您需求的内容。

class CustomAdapter extends ArrayAdapter implements Filterable {

private List<Data> dataList;
private List<Data> mSdataFilterList;
        public CustomAdapter(Context context, int resource) {
            super(context, resource);
           //initialize both lists with unfiltered data
        }

        @Override
        public Filter getFilter() {
            // return a filter that filters data based on a constraint

            return new Filter() {
                @Override
                protected FilterResults performFiltering(CharSequence constraint) {
                FilterResults results = new FilterResults();
                for (int i = 0; i < mSdataFilterList.size(); i++) {
                if ((mSdataFilterList.get(i).getData().toUpperCase())
                        .contains("footbal")||(mSdataFilterList.get(i).getData().toUpperCase())
                        .contains("soccer")) {

                    Data data= new Data(
                    mSdataFilterList.add(data);
                }
            }
            results.count = mSdataFilterList.size();
            results.values = mSdataFilterList;
                    return results;
                }

                @Override
                protected void publishResults(CharSequence constraint, FilterResults results) {
                  dataList= (ArrayList<Data>) results.values;
                  notifyDataSetChanged();
                }
            };
        }