我正在使用带有自定义对象的ArrayAdapter,当我希望它显示字段时,自动完成文本视图将我的自定义对象打印为字符串。我以为我可以像这样覆盖我的过滤方法
@Override
public CharSequence convertResultToString(Object resultValue) {
Tag result = (Tag) resultValue;
return result.getName();
}
这被调用,但似乎对显示的result4
没有影响编辑过滤器类
Filter filter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
resultList.clear();
if (constraint != null) {
Iterable<String> iterable = st.keysWithPrefix(constraint.toString());
Iterator<String> iterator = iterable.iterator();
while (iterator.hasNext()) {
String keys = iterator.next();
resultList.add(st.get(keys));
}
// Retrieve the autocomplete results.
filterResults.values = resultList;
filterResults.count = resultList.size();
}
return filterResults;
}
@Override
public CharSequence convertResultToString(Object resultValue) {
Tag result = (Tag) resultValue;
return result.getName();
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results != null && results.count > 0) {
notifyDataSetChanged();
} else {
notifyDataSetInvalidated();
}
}
};