//Stuff With SearchView Widget
// One Method Used for Auto Searching or When cleared Text From SearchView
searchview.setOnQueryTextListener(new SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextChange(String newQueryText)
{
Log.d("alert","onQueryTextChange : " + newQueryText);
//Do stuff
hideKeyboard(); // Call to close or Remove Focus of SearchView
return true;
}
// Used When Submit Button of SearchView Clicked and Searching Begin
@Override
public boolean onQueryTextSubmit(String query)
{
Log.d("alert","onQueryTextSubmit : " + query);
//Do Stuff
hideKeyboard(); // Call to close or Remove Focus of SearchView
return true;
}
}
//This Method used To catch close Event of SearchView
searchview.setOnCloseListener(new OnCloseListener()
{
@Override
public boolean onClose()
{
Log.d("alert", "closed");
// doStuff
hideKeyboard(); // Call to close or Remove Focus of SearchView
return true;
}
}
/**
* Hide Soft KeyBoard When Click on crossIcon of SearchView
*/
private boolean hideKeyboard()
{
try
{
if(searchview.hasFocus())
{
Log.d("alert", "hiding and removing focus");
searchview.clearFocus();
searchview.setIconified(true);
// used to again closed searchview after clear text from click on cross button
}
InputMethodManager imm =
(InputMethodManager) myContext.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchview.getWindowToken(), 0);
return true;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}