У меня есть searchView в ActionBar. Я хочу убрать клавиатуру, когда пользователь выполнил ввод. У меня есть следующий queryTextListener в searchView
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 или если она связана с searchView в ActionBar или и то, и другое. Кто-нибудь получил эту работу или знает, почему она не работает?