sara62
چهارشنبه 21 آبان 1393, 17:13 عصر
سلام
میخوام لیست ویو رو فیلتر کنم رو نام ماشین کداشو نوشتم اما هر چی تو ادیت تکست تایپ میکنم هیچ اتفاقی نمیافته.نمیدونم کجاش اشتباه کردم.
این کدا رو تو کلاس CarListAdapter نوشتم
public Filter getFilter() {
return mFilter;
}
private class ItemFilter extends Filter {
@SuppressLint("DefaultLocale")
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults results = new FilterResults();
if (constraint == null || constraint.length() == 0) {
results.values = originalData;
results.count = originalData.size();
}
else {
List<Car> nCarList = new ArrayList<Car>();
for (Car p : originalData) {
if (p.getTypeCar().toUpperCase().startsWith(constrain t.toString().toUpperCase()))
nCarList.add(p);
}
results.values = nCarList;
results.count = nCarList.size();
}
return results;
}
@SuppressWarnings("unchecked")
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results.count == 0)
notifyDataSetInvalidated();
else {
filteredData = (ArrayList<Car>) results.values;
notifyDataSetChanged();
}
}
توی Activity
EditText inputSearch = (EditText) findViewById(R.id.edSearch);
inputSearch.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence cs, int start, int before, int count) {
listAdapter.getFilter().filter(cs);
}
ممنونم
میخوام لیست ویو رو فیلتر کنم رو نام ماشین کداشو نوشتم اما هر چی تو ادیت تکست تایپ میکنم هیچ اتفاقی نمیافته.نمیدونم کجاش اشتباه کردم.
این کدا رو تو کلاس CarListAdapter نوشتم
public Filter getFilter() {
return mFilter;
}
private class ItemFilter extends Filter {
@SuppressLint("DefaultLocale")
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults results = new FilterResults();
if (constraint == null || constraint.length() == 0) {
results.values = originalData;
results.count = originalData.size();
}
else {
List<Car> nCarList = new ArrayList<Car>();
for (Car p : originalData) {
if (p.getTypeCar().toUpperCase().startsWith(constrain t.toString().toUpperCase()))
nCarList.add(p);
}
results.values = nCarList;
results.count = nCarList.size();
}
return results;
}
@SuppressWarnings("unchecked")
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results.count == 0)
notifyDataSetInvalidated();
else {
filteredData = (ArrayList<Car>) results.values;
notifyDataSetChanged();
}
}
توی Activity
EditText inputSearch = (EditText) findViewById(R.id.edSearch);
inputSearch.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence cs, int start, int before, int count) {
listAdapter.getFilter().filter(cs);
}
ممنونم