防止AutocompleteTextView减少结果

时间:2013-07-09 12:30:50

标签: android drop-down-menu autocomplete textview autocompletetextview

我的应用程序中有一个AutoCompleteTextView,但DropDownMenu中的每个项目背后都比显示的要多得多。

我为ArrayAdapter拥有自己的AutoCompleteTextView,当用户开始输入任何内容时,autocompleteTextView开始减少下拉列表。这就是我想要改变的。每次用户输入一个新的字母时,我都会从database进行新的搜索,并希望在弹出的下拉菜单中显示所有这些内容,即我不想要autocompleteTextView由于用户输入的内容而减少列表。

所以,我的问题是,有没有办法阻止autocompleteTextView减少结果,或者使用我自己的下拉菜单更容易编辑文本视图?

感谢。

1 个答案:

答案 0 :(得分:1)

最后,我找到了一个完美的解决方案。只是想分享它,因为我花了很多时间才能让它发挥作用。

AutoCompleteTextView没有任何设置过滤器的方法,也没有任何方法可以使用自定义文件管理器。

在我写的时候,我有一个自定义ArrayAdapter到AutoCompleteTextView。所以我所做的是在ArrayAdapter类中,覆盖函数getFilter

并向发布答案的人here提供信誉。

@Override
  public Filter getFilter() {
    return new KNoFilter();
}

private class KNoFilter extends Filter {

    @Override
    protected FilterResults performFiltering(CharSequence arg0) {
        FilterResults result = new FilterResults();
            result.values = searchResults;
            result.count = searchResults.size(); 
        return result;
    }

    @Override
    protected void publishResults(CharSequence arg0, FilterResults arg1) {
        notifyDataSetChanged();
    }
}