【问题标题】:Prevent an AutocompleteTextView from reducing the results防止 AutocompleteTextView 减少结果
【发布时间】:2013-07-07 01:25:25
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

  • 与 autoCompleteTextView 相比,我认为 EditText 选项是实现此功能的最佳方式。

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


【解决方案1】:

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

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();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多