Android sql multiple search -
i create database can search single string(name), , need search multiple strings separated comma, , here stuck. example how want like: mark,john,mia .... know how add code?
testlistactivity
@override public boolean oncreateoptionsmenu(menu menu){ getmenuinflater().inflate(r.menu.test_search, menu); menuitem search = menu.finditem(r.id.search); searchview searchview = (searchview) menuitemcompat.getactionview(search); searchview.setonquerytextlistener(this); return true; } @override public boolean onoptionsitemselected(menuitem item){ return super.onoptionsitemselected(item); } @override public boolean onquerytextsubmit(string query){ return false; } @override public boolean onquerytextchange(string newtext){ newtext = newtext.tolowercase(); arraylist<test> newlist = new arraylist<>(); (test test : listtest){ string name = test.getname().tolowercase(); if (name.contains(newtext)){ newlist.add(test); } } testrecycleradapter.setfilter(newlist); return true; } testrecycleradapter
public void setfilter (arraylist<test> newlist){ listtest = new arraylist<>(); listtest.addall(newlist); notifydatasetchanged(); } this how looks right recyclersearch
update onquerytextchange method this:
public boolean onquerytextchange(string newtext){ newtext = newtext.tolowercase(); string[] splitter = newtext.split(","); //splits query array ',' arraylist<test> newlist = new arraylist<>(); (test test : listtest){ boolean contain = false; string name = test.getname().tolowercase(); for(int = 0; < splitter.length; i++){ if (name.contains(splitter[i])){ //contains @ least 1 of tags contain=true;break; } } if(contain) newlist.add(test); } testrecycleradapter.setfilter(newlist); return true; }
Comments
Post a Comment