in your onQueryTextChange (String Text) method using a listener:. Adapter.getFilter () filter (Text.toString ()); and implement your filter in your BaseAdapter class. here is a sample code:
@Override public Filter getFilter() { return filter; } private GameFilter filter; private class GameFilter extends Filter { public GameFilter() { } @Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults oReturn = new FilterResults(); ArrayList<ItemDetails> results = new ArrayList<ItemDetails>(); if (orig == null) orig = itemDetailsrrayList; if (constraint != null) { if (orig != null && orig.size() > 0) { for (ItemDetails g : orig) { if (g.getName().toLowerCase().contains(constraint.toString().toLowerCase())) results.add(g); } } oReturn.values = results; } return oReturn; } @SuppressWarnings("unchecked") @Override protected void publishResults(CharSequence constraint, FilterResults results) { itemDetailsrrayList = (ArrayList<ItemDetails>)results.values; notifyDataSetChanged(); } }
source share