您好,我在查找带有搜索视图的搜索查询后如何隐藏Android虚拟键盘时遇到问题。当用户按下返回键时,我希望键盘消失(理想情况下,当他们点击键盘外的任何地方但我现在会选择返回键)。我使用onQueryTextSubmit工作的查询工作:
public boolean onQueryTextSubmit(String s) {
//Search stuff...
searchView.clearFocus();
return true;
}
但是如果查询是一个空字符串,我希望它也可以工作。问题是onQueryTextSubmit如果是空字符串则不会被触发:Android SearchView.OnQueryTextListener OnQueryTextSubmit not fired on empty query string
我也不想使用ActionBarSherlock,所以这个解决方案不会这样做:Android SearchView empty string
我只是想在用户搜索后隐藏键盘:(这似乎是一个简单的问题,但让我头疼。有什么建议吗? 谢谢!
答案 0 :(得分:3)
如果您使用兼容性库:
MenuItemCompat.collapseActionView(searchItem);//searchItem is an instance of MenuItem
如果您没有使用兼容性库:
searchItem.collapseActionView();
答案 1 :(得分:1)
使用InputMethodManager:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
用于空查询字符串解决方案: Android SearchView.OnQueryTextListener OnQueryTextSubmit not fired on empty query string
答案 2 :(得分:0)
这有效:
searchView.setQuery("", false);
searchView.setIconified(true);
答案 3 :(得分:-1)
public boolean onQueryTextSubmit(String s){ //搜索东西......
searchView.setIconified();
searchView.clearFocus();
searchView.onActionViewCollapsed();
return true;
}