我有一个带有 SearchView 的 ActionBar。选择菜单按钮时,隐藏/溢出菜单项显示在右侧的下拉列表中。当下拉菜单被隐藏时,SearchView 获得焦点并显示键盘。有没有办法阻止键盘显示(触摸 SearchView 的情况除外)?
问候,朱利叶斯。
编辑下面添加的代码:这是我初始化它的方式:
SearchManager searchManager = (SearchManager) mActivity.getSystemService(Context.SEARCH_SERVICE);
((SearchView) mSearchView).setSearchableInfo(searchManager.getSearchableInfo(mActivity.getComponentName()));
mSearchView.setIconifiedByDefault(mIconified);
mSearchView.setOnQueryTextListener(this);
mSearchView.setOnCloseListener(this);
mSearchView.setFocusable(false);
mSearchView.setFocusableInTouchMode(false);
if(null!=mQuery)
mSearchView.setQuery(mQuery, false);
编辑2:
当用户想要开始搜索时,我会这样做:
@Override
public boolean onQueryTextSubmit(String query) {
// Hide keyboard
InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(
FragmentActivity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0);
...
mSearchView.setFocusable(false);
mSearchView.setFocusableInTouchMode(false);
return true;
}