4

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

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

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

谢谢。

4

1 回答 1

4

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

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

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

并将信誉授予在此处发布答案的人。

@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();
    }
}
于 2013-07-09T15:14:54.670 回答