栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 使用getFilter函数时ListView为空白

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 使用getFilter函数时ListView为空白

我修改了我的代码,并使其能够正常工作。如果有人想使用它,请成为我的客人

SetRows Java文件:

public class SetRows {    int image;    String name;    String id;    public int getImage () {        return image;    }    public void setImage (int image) {        this.image = image;    }    public String getName () {        return name;    }    public void setName (String name) {        this.name = name;    }    public String getID () {        return id;    }    public void setID (String id) {        this.id = id;    }    public SetRows(int image, String name, String id) {        super();        this.image = image;        this.name = name;        this.id = id;    }    @Override    public String toString() {        return  image + " " + name + " " + id;    }}

SetRowsCustomAdapter Java文件:

import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.Filter;import android.widget.ImageView;import android.widget.TextView;public class SetRowsCustomAdapter extends ArrayAdapter<SetRows> {    Context context;   int layoutResourceId;   ArrayList<SetRows> data=new ArrayList<SetRows>(); //data = countryList   private ArrayList<SetRows> originalList;   private NameFilter filter;   public SetRowsCustomAdapter(Context context, int layoutResourceId, ArrayList<SetRows> data) {       super(context, layoutResourceId, data);       this.layoutResourceId = layoutResourceId;       this.context = context;       this.data = data;       //this.data.addAll(data);       this.originalList = new ArrayList<SetRows>();       this.originalList.addAll(data);   }   @Override   public View getView(int position, View convertView, ViewGroup parent) {       View row = convertView;       ImageHolder holder = null;       if(row == null)       {LayoutInflater inflater = ((Activity)context).getLayoutInflater();row = inflater.inflate(layoutResourceId, parent, false);holder = new ImageHolder();holder.txtTitle = (TextView)row.findViewById(R.id.txtTitle);holder.imgIcon = (ImageView)row.findViewById(R.id.imgIcon);holder.txtID = (TextView)row.findViewById(R.id.txtModDate);row.setTag(holder);       }       else       {holder = (ImageHolder)row.getTag();       }       SetRows myImage = data.get(position);       holder.txtTitle.setText(myImage.name);       holder.txtID.setText(myImage.id);       int outImage=myImage.image;       holder.imgIcon.setImageResource(outImage);      return row;   }   static class ImageHolder   {       ImageView imgIcon;       TextView txtTitle;       TextView txtID;   }   @Override   public Filter getFilter() {    if (filter == null){     filter  = new NameFilter();    }    return filter;   }   private class NameFilter extends Filter   {    @Override    protected FilterResults performFiltering(CharSequence constraint) {     constraint = constraint.toString().toLowerCase();     FilterResults result = new FilterResults();     if(constraint != null && constraint.toString().length() > 0)     {     ArrayList<SetRows> filteredItems = new ArrayList<SetRows>();     for(int i = 0, l = originalList.size(); i < l; i++)     {      SetRows nameList = originalList.get(i);      if(nameList.toString().toLowerCase().contains(constraint))       filteredItems.add(nameList);     }     result.count = filteredItems.size();     result.values = filteredItems;     }     else     {      synchronized(this)      {       result.values = originalList;       result.count = originalList.size();      }     }     return result;    }    @SuppressWarnings("unchecked")    @Override    protected void publishResults(CharSequence constraint,      FilterResults results) {     data = (ArrayList<SetRows>)results.values;     notifyDataSetChanged();     clear();     for(int i = 0, l = data.size(); i < l; i++)      add(data.get(i));     notifyDataSetInvalidated();    }   }}

其他一切都保持不变:)

我希望人们发现它对自己的应用有用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456581.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号