android - How to Search items in alphabetically in Listview through Base Adapter -
i want search items list view alphabetically on click on edittext not getting how this
serch_item.addtextchangedlistener(new textwatcher() { @override public void ontextchanged(charsequence s, int start, int before, int count) { // todo auto-generated method stub text = serch_item.gettext().tostring(); // approvedfriendlist.setfiltertext(text); } @override public void beforetextchanged(charsequence s, int start, int count, int after) { // todo auto-generated method stub } @override public void aftertextchanged(editable s) { // todo auto-generated method stub } });
search_item editext , items coming through base adapter if user types name on edittext item should visible or searched
take 1 edittext & in ontextchangelistner filter listview ...
private class modelfilter extends filter { @override protected filterresults performfiltering(charsequence constraint) { constraint = constraint.tostring().tolowercase(); system.out.println("in performfiltering()"); filterresults result = new filterresults(); if(constraint != null && constraint.tostring().length() > 0) { arraylist<model> filtereditems = new arraylist<model>(); for(int = 0, l = allmodelitemsarray.size(); < l; i++) { model m = allmodelitemsarray.get(i); if(m.getwebsite().tolowercase().contains(constraint)) filtereditems.add(m); } result.count = filtereditems.size(); result.values = filtereditems; } else { synchronized(this) { result.values = allmodelitemsarray; result.count = allmodelitemsarray.size(); } } return result; } @suppresswarnings("unchecked") @override protected void publishresults(charsequence constraint, filterresults results) { filteredmodelitemsarray = (arraylist<model>)results.values; system.out.println("in publishresults()"); notifydatasetchanged(); clear(); for(int = 0, l = filteredmodelitemsarray.size(); < l; i++) add(filteredmodelitemsarray.get(i)); //notifydatasetinvalidated(); } }
your texchangelistner
@override public void ontextchanged(charsequence s, int start, int before, int count) { bookmarkmanageractivity.this.adapter.getfilter().filter(s); adapter.notifydatasetchanged(); } @override public void beforetextchanged(charsequence s, int start, int count, int after) { } @override public void aftertextchanged(editable s) { } });
Comments
Post a Comment