我的应用程序中有一个AutoCompleteTextView,但是DropDownMenu中的每个项目背后都有比所显示的内容多得多的内容。
我有自己的AutoCompleteTextView ArrayAdapter,当用户开始输入任何内容时,autocompleteTextView开始减少下拉列表。这就是我想要改变的。每次用户键入新字母时,我都会从database中进行新的搜索,并希望在弹出的下拉菜单中显示所有这些字母,即我不希望autocompleteTextView因为用户键入的内容而减少列表。
所以,我的问题是,有没有一种方法可以阻止autocompleteTextView减少结果,或者只使用我自己的下拉菜单来编辑文本视图更容易?
谢谢。
发布于 2013-07-09 23:14:55
最后,我找到了一个完美的解决方案。我只是想分享它,因为我花了很多时间让它工作。
AutoCompleteTextView没有任何设置过滤器的方法,也没有任何使用自定义文件管理器的方法。
在我写这篇文章时,我有一个指向AutoCompleteTextView的自定义ArrayAdapter。所以我所做的是在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();
}
}https://stackoverflow.com/questions/17548219
复制相似问题