ListView结合滤波器遇到的问题摘记

  

private  class  MyAdapter  extends  ArrayAdapter, {   ,,,private  Context  mContext;   ,,,private  int  mResource;   ,,,private  List, mData;   ,,,private  MyFilter  mFilter;      ,,,public  MyAdapter (@NonNull  Context 上下文,@LayoutRes  int 资源,,@NonNull  List,对象),{   ,,,,,,,//这里会将对象赋值给父类的mObjects成员变量,问题的所在   ,,,,,,,超级(上下文,资源,,对象);   ,,,,,,,this.mContext =,上下文;   ,,,,,,,=,this.mResource 资源;   ,,,,,,,this.mData =,对象;   ,,,}      ,,@Override   ,,,public  int  getCount (), {   ,,,,,,,return  mData.size ();   ,,,}      ,,@Nullable   ,,@Override   ,,,public  String  getItem (int 位置),{   ,,,,,,,return  mData.get(位置);   ,,,}      ,,@Override   ,,,public  long  getItemId (int 位置),{   ,,,,,,,return 位置;   ,,,}      ,,@NonNull   ,,@Override   ,,,public  View  getView (int 位置,@Nullable  View  convertView,, @NonNull  ViewGroup 父母),{   ,,,,,,,View ;   ,,,,,,,if  (convertView ==, null), {   ,,,,,,,,,,,view =, LayoutInflater.from (mContext) .inflate (mResource,,父母,,假);   ,,,,,,,},{else    ,,,,,,,,,,,view =, convertView;   ,,,,,,,}   ,,,,,,,TextView  text =, (TextView), view.findViewById (android.R.id.text1);   ,,,,,,,text.setText (mData.get(位置);      ,,,,,,,return ;   ,,,}      ,,@NonNull   ,,@Override   ,,,public  Filter  getFilter (), {   ,,,,,,,if  (mFilter ==, null), {   ,,,,,,,,,,,mFilter =, new  MyFilter ();   ,,,,,,,}   ,,,,,,,return  mFilter;   ,,,}      ,,,private  class  MyFilter  extends  Filter  {      ,,,,,,@Override   ,,,,,,,protected  FilterResults  performFiltering (CharSequence 约束),{   ,,,,,,,,,,,String  filterString =, constraint.toString () .toLowerCase ();   ,,,,,,,,,,,FilterResults  results =, new  FilterResults ();      ,,,,,,,,,,,//为null,表示没有赋值过,这里的逻辑是mOriginalValues保存原始数据,而mData保存过滤后的数据,   ,,,,,,,,,,,if  (mOriginalValues ==, null), {   ,,,,,,,,,,,,,,,mOriginalValues =, new  ArrayList<祝辞(mData);   ,,,,,,,,,,,}      ,,,,,,,,,,,if  (TextUtils.isEmpty (filterString)), {   ,,,,,,,,,,,,,,,results.values =, mOriginalValues;   ,,,,,,,,,,,,,,,results.count =, mOriginalValues.size ();   ,,,,,,,,,,,},{else    ,,,,,,,,,,,,,,,List, values =, new  ArrayList<祝辞(mOriginalValues);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

ListView结合滤波器遇到的问题摘记