【问题标题】:AutoCompleteTextView return model after selecting the resultAutoCompleteTextView 选择结果后返回模型
【发布时间】:2016-06-27 18:37:48
【问题描述】:

我在搜索专业和学校时使用autocompleteTextview。在我的自动完成 textbox 中,它返回一个实际的可搜索查询字符串,例如

major = Computer Science 
schools = Harvard University

但是在点击选定的项目后它会返回模型

这是我在学校适配器中的过滤器代码

 @Override
public Filter getFilter() {
    Filter filter = new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            FilterResults filterResults = new FilterResults();
            if(constraint != null){
                List<MTSSchool> filterValue = new ArrayList<MTSSchool>();

                for(int x = 0; x < _filtteredSchoolList.size(); x++){
                    if(_filtteredSchoolList.get(x).getSchool_name().contains(constraint)){
                        MTSSchool university = new MTSSchool(_filtteredSchoolList.get(x).getSchool_name(),_filtteredSchoolList.get(x).getSchoolId());
                        filterValue.add(university);
                    }
                }

                filterResults.values = filterValue;
                filterResults.count = filterValue.size();
            }
            return filterResults;
        }

        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            if(results != null && results.count > 0){
                _filtteredSchoolList = (List<MTSSchool>)results.values;
                notifyDataSetChanged();
            }else {
                notifyDataSetInvalidated();
            }
        }
    };
    return filter;
}

  protected void publishResults(CharSequence constraint, FilterResults results) {
            if(results != null && results.count > 0){
                _filtteredSchoolList = (List<MTSSchool>)results.values;
                notifyDataSetChanged();
            }else {
                notifyDataSetInvalidated();
            }
        }

在自动完成中选择选项后,这是输出

我注意到我的 3 autocompleteTextview 它不会重置搜索结果,但它限制了其他自动完成对这些人的任何建议?

【问题讨论】:

    标签: java android autocompletetextview


    【解决方案1】:

    对于MTSSchool 类,实现一个返回学校名称的toString() 方法

    【讨论】:

    • public String toString(){ return school_name;这就是我添加的我会测试它
    • 请编辑更多信息。不鼓励使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。我们在这里努力成为知识的资源。
    • 我只是通过在线发布logcat,无法看到问题
    • 它现在可以工作,但是很难将我的适配器重用到另一个 autocompleteTextview 它没有根据我搜索的内容显示任何建议,并且仅用于一个 autcompleteTextView shrib.com/ITH4ra8qnSGyvIU 我粘贴我的代码更新了上一期
    猜你喜欢
    • 2018-08-11
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多