the text enter in searchview disappears on config change.
handling config change still not working.
have used fragments, below code written inside fragment.
please solve problem respect that.
problem not able retrieve savedinstance in onactivitycreated method
below code:
snippets of useful code
private string searchquery=""; @override public void onactivitycreated(bundle savedinstancestate) { super.onactivitycreated(savedinstancestate); if(savedinstancestate != null) searchquery = savedinstancestate.getstring(tag.search_query); } @override public void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); outstate.putstring(tag.search_query, searchquery); } @override public void oncreateoptionsmenu(menu menu,menuinflater menuinflater) { // inflate menu; adds items action bar if present. menuinflater.inflate(r.menu.menu_search, menu); menuitem menuitem = menu.finditem(r.id.action_search); searchview searchview = null; if (menuitem != null) searchview = (searchview) menuitem.getactionview(); if (searchview != null) { searchview.setquery(searchquery,false); searchview.setonquerytextlistener(new searchview.onquerytextlistener() { @override public boolean onquerytextsubmit(string query) { //searching done in async task searchquery = query; networkutility.onprogressbarshow(getactivity()); myasynctaskdownloaddetails myasynctaskdownloaddetails = new myasynctaskdownloaddetails(); myasynctaskdownloaddetails.execute(new string[]{tag.plp_url + query, tag.plp,""}); return true; } @override public boolean onquerytextchange(string newtext) { return true; } }); } super.oncreateoptionsmenu(menu, menuinflater); } }
first of saving querytext in onquerytextsubmit
callback means searchquery
will remain empty unless , until user have submitted query search, keep in mind.
secondly try following code. work have tested it.
if(searchquery.length()>0){ //see commented code // if(utils.hasicecreamsandwich()) { // searchmenuitem.expandactionview(); // }else { // menuitemcompat.expandactionview(searchmenuitem); // } menuitemcompat.expandactionview(menuitem); searchview.setquery(searchquery, false); }
Comments
Post a Comment