package com.way.apapter; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Filter; import android.widget.Filterable; import android.widget.TextView; import com.way.bean.City; import com.way.weather.R; public class SearchCityAdapter extends BaseAdapter implements Filterable { private List<City> mAllCities; private List<City> mResultCities; private LayoutInflater mInflater; private Context mContext; // private String mFilterStr; public SearchCityAdapter(Context context, List<City> allCities) { mContext = context; mAllCities = allCities; mResultCities = new ArrayList<City>(); mInflater = LayoutInflater.from(mContext); } @Override public int getCount() { return mResultCities.size(); } @Override public City getItem(int position) { return mResultCities.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.search_city_item, null); } TextView provinceTv = (TextView) convertView .findViewById(R.id.search_province); provinceTv.setText(mResultCities.get(position).getProvince()); TextView cityTv = (TextView) convertView .findViewById(R.id.column_title); cityTv.setText(mResultCities.get(position).getCity()); return convertView; } @Override public Filter getFilter() { Filter filter = new Filter() { protected void publishResults(CharSequence constraint, FilterResults results) { mResultCities = (ArrayList<City>) results.values; if (results.count > 0) { notifyDataSetChanged(); } else { notifyDataSetInvalidated(); } } protected FilterResults performFiltering(CharSequence s) { String str = s.toString().toUpperCase(); // mFilterStr = str; FilterResults results = new FilterResults(); ArrayList<City> cityList = new ArrayList<City>(); if (mAllCities != null && mAllCities.size() != 0) { for (City cb : mAllCities) { // 匹配全屏、首字母、和城市名中文 if (cb.getAllFristPY().indexOf(str) > -1 || cb.getAllPY().indexOf(str) > -1 || cb.getCity().indexOf(str) > -1) { cityList.add(cb); } } } results.values = cityList; results.count = cityList.size(); return results; } }; return filter; } }
最近下载更多
dingruiasdad LV3
2023年4月11日
xsjxsj LV2
2022年12月13日
慵懒 LV4
2022年6月22日
上邪(ye) LV6
2022年6月19日
wanfeng_233 LV4
2022年6月13日
双方各何必呢 LV13
2022年6月12日
nihao123456 LV6
2022年5月1日
wjl0529 LV3
2022年4月12日
GZW012345 LV8
2022年3月21日
13165798872 LV11
2022年3月7日