AutoCompleteTextView – 禁用过滤

我从webservice检索string列表,我想列出他们在AutoCompleteTextField无论内置的AutoCompleteTextFieldfilter

我怎么做? 有没有一种方法来禁用它的内部过滤很容易(最好没有子类化)我已经加载了所有的结果到一个ArrayAdapter ,问题是,其中一些不显示,因为过滤。

如果我走错了方向,请指向正确的方向。

Solutions Collecting From Web of "AutoCompleteTextView – 禁用过滤"

可能@Alon表示子类化ArrayAdapter ,而不是AutoCompleteTextView 。 在getFilter()方法中,必须返回一个自定义filter,它根本不执行过滤(在其performFiltering() )中。 可能的performance可能是一个问题 – 因为那里产生了。 最好的办法是从TextEdit派生并实现自己的完成popup窗口。 但是到目前为止,这对我来说还是太麻烦了。 最后,我做了如下的事情,对我有用。 任何反馈赞赏。

 public class KArrayAdapter<T> extends ArrayAdapter<T> { private Filter filter = new KNoFilter(); public List<T> items; @Override public Filter getFilter() { return filter; } public KArrayAdapter(Context context, int textViewResourceId, List<T> objects) { super(context, textViewResourceId, objects); Log.v("Krzys", "Adapter created " + filter); items = objects; } private class KNoFilter extends Filter { @Override protected FilterResults performFiltering(CharSequence arg0) { FilterResults result = new FilterResults(); result.values = items; result.count = items.size(); return result; } @Override protected void publishResults(CharSequence arg0, FilterResults arg1) { notifyDataSetChanged(); } } } 

希望能帮助到你。

最后我subclassed ArrayAdapter ,通过覆盖它的getFilter方法禁用filter,并在“文本更改”事件期间创build我的HTTPRequest