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;
}