android – 提交后折叠searchview

我在我的应用程序中使用searchview(没有操作栏)。 如何在查询文本提交后折叠searchview?

我有这些听众;

@Override public boolean onQueryTextSubmit(String query) { InputMethodManager imm = (InputMethodManager)thisFr.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(globalSearch.getWindowToken(), 0); return false; } @Override public boolean onQueryTextChange(String newText) { // TODO Auto-generated method stub return false; } 

我不使用ActionBar所以我没有像collapseActionView()这样的函数。

等待帮助

谢谢

    您可以在活动中以这种方式执行此操作,使用actionbarsherlock进行测试(它甚至隐藏键盘,确保在onQueryTextSubmit中返回false):

     private MenuItem searchMenuItem; public MenuItem getSearchMenuItem() { return searchMenuItem; } @Override public boolean onCreateOptionsMenu(Menu menu) { // ... searchMenuItem = menu.findItem(R.id.menu_search); // ... searchView.setOnQueryTextListener(new OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { MenuItem searchMenuItem = getSearchMenuItem(); if (searchMenuItem != null) { searchMenuItem.collapseActionView(); } return false; } @Override public boolean onQueryTextChange(String newText) { // ... return true; } }); // ... return super.onCreateOptionsMenu(menu); } 

    您需要调用setIconified(true)两次才能实际折叠搜索视图,第一个调用文本将被第二个调用键盘清除,搜索视图将被关闭。

    如果您在OptionsMenu中使用SearchView,则可以调用invalidateOptionsMenu()

     //close suggestion list on query text submit searchView.setIconified(true);