如何在Android SearchView中关闭键盘?
我在ActionBar中有一个searchView。 我想在用户完成输入时关闭键盘。 我在searchView上有以下queryTextListener
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// Do something
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
showProgress();
// Do stuff, make async call
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
return true;
}
};
基于类似的问题,下面的代码应该关闭键盘,但在这种情况下它不起作用:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也试过:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
两者都不起作用。 我不确定这是否是Honeycomb特定的问题,或者它是否与ActionBar中的searchView相关,或者两者都有关系。 有没有人得到这个工作,或知道为什么它不工作?
我正在尝试做类似的事情。 我需要从另一个Activity
启动SearchActivity
,并在加载时将搜索词显示在打开的搜索字段中。 我尝试了所有的方法之上,但最终(类似于上面Ridcully的回答)我设置一个变量,以SearchView
在onCreateOptionsMenu()
然后在onQueryTextSubmit()
称为clearFocus()
对SearchView
,当用户提交一个新的搜索:
private SearchView searchView;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
searchView = (SearchView) menu.findItem(R.id.menu_search)
.getActionView(); // set the reference to the searchView
searchView.setOnQueryTextListener(this);
searchMenuItem = (MenuItem) menu.findItem(R.id.menu_search);
searchMenuItem.expandActionView(); // expand the search action item automatically
searchView.setQuery("<put your search term here>", false); // fill in the search term by default
searchView.clearFocus(); // close the keyboard on load
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
performNewSearch(query);
searchView.clearFocus();
return true;
}
简单,直接点和干净:
@Override
public boolean onQueryTextSubmit(String query) {
// your search methods
searchView.clearFocus();
return true;
}
就像下面那样在onQueryTextSubmit上返回false
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
链接地址: http://www.djcxy.com/p/2713.html