我在Android上使用Google Places Api。我需要将搜索结果限制在足球/足球场,但似乎并没有将结果限制在这种类型的地方。
以下是Google的文档:https://developers.google.com/places/android-api/supported_types
那么有没有办法为自动填充搜索结果创建自定义过滤器?如果无法通过Google的自动填充功能完成此操作,是否还有其他可能将搜索结果过滤到足球/足球领域?
答案 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();
}
};
}