public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
final FilterResults oReturn = new FilterResults();
final List<YourClass> results = new ArrayList<YourClass>();
if (orig == null)
orig = items;
if (constraint != null){
if(orig !=null & orig.size()>0 ){
for ( final YourClass g :orig) {
if (g.getCardName().toLowerCase()
.contains(constraint.toString()))
results.add(g);
}
}
oReturn.values = results;
}
return oReturn;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
items = (ArrayList<BaseOfCards>)results.values;
notifyDataSetChanged();
}
};
@Override
public boolean onQueryTextChange(String newText) {
if ( TextUtils.isEmpty ( newText ) ) {
adapter.getFilter().filter("");
} else {
adapter.getFilter().filter(newText.toString());
}
return true;
}