/**
*
*/
package com.gmail.charleszq.picorner.ui.helper;
import java.util.ArrayList;
import java.util.List;
import android.widget.Filter;
/**
* @author charles(charleszq@gmail.com)
*
*/
public class CommonListTitleFilter extends Filter {
private FilterAdapter mAdapter;
public CommonListTitleFilter(FilterAdapter adapter) {
this.mAdapter = adapter;
}
/* (non-Javadoc)
* @see android.widget.Filter#performFiltering(java.lang.CharSequence)
*/
@Override
protected FilterResults performFiltering(CharSequence constraint) {
String query = constraint.toString().toLowerCase();
List<Object> filteredIn = new ArrayList<Object>();
List<?> all = mAdapter.mData;
for( Object a : all ) {
if( mAdapter.getTitle(a).toLowerCase().contains(query)) {
filteredIn.add(a);
}
}
FilterResults result = new FilterResults();
result.count = filteredIn.size();
result.values = filteredIn;
return result;
}
/* (non-Javadoc)
* @see android.widget.Filter#publishResults(java.lang.CharSequence, android.widget.Filter.FilterResults)
*/
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
mAdapter.publishFilterResult(results.values);
}
}