我正在关注this教程,以便从Google Places API集实施自动完成API。从ArrayAdapter
扩展类并实现Filterable
接口时,Android SDK无法解析教程中显示的方法,而只显示此方法:
@Override
public boolean isLoggable(LogRecord record) {
return false;
}
适配器类实现如下所示:
class GooglePlacesAutocompleteAdapter extends ArrayAdapter implements Filterable
{
private ArrayList resultList;
public GooglePlacesAutocompleteAdapter(Context context, int textViewResourceId) {
super(context, textViewResourceId);
}
@Override
public int getCount()
{
return resultList.size();
}
@Override
public String getItem(int index)
{
return resultList.get(index).toString();
}
@Override
public Filter getFilter()
{
Filter filter = new Filter() {
@Override
public boolean isLoggable(LogRecord record) {
return false;
}
@Override
public android.widget.Filter.FilterResults performFiltering(CharSequence constraint)
{
android.widget.Filter.FilterResults filterResuts = new android.widget.Filter.FilterResults();
if(constraint != null)
{
resultList = autocomplete(constraint.toString());
filterResuts.values = resultList;
filterResuts.count = resultList.size();
}
return filterResuts;
}
@Override
protected void publishResults(CharSequence constraint, android.widget.Filter.FilterResults results)
{
if (results != null && results.count > 0) {
notifyDataSetChanged();
}
else {
notifyDataSetInvalidated();
}
}
};
return filter;
}
}
在这里,我收到以下错误:
同样,它无法识别其他方法(protected FilterResults performFiltering(CharSequence constraint)
和protected void publishResults(CharSequence constraint, FilterResults results)
)。我正在使用KitKat开发应用程序。