我的应用程序中有一个AutoCompleteTextView
,但DropDownMenu
中的每个项目背后都比显示的要多得多。
我为ArrayAdapter
拥有自己的AutoCompleteTextView
,当用户开始输入任何内容时,autocompleteTextView开始减少下拉列表。这就是我想要改变的。每次用户输入一个新的字母时,我都会从database
进行新的搜索,并希望在弹出的下拉菜单中显示所有这些内容,即我不想要autocompleteTextView
由于用户输入的内容而减少列表。
所以,我的问题是,有没有办法阻止autocompleteTextView减少结果,或者使用我自己的下拉菜单更容易编辑文本视图?
感谢。
答案 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();
}
}