EditTextで入力完了したら、ソフトキーボード閉じて処理を実行する
忘れないようにメモ。
例えば検索条件をEditTextに入力する場合、
ユーザビリティ的にはソフトキーボードで入力完了後(EnterKey押下時)に検索ボタンを押さなくても自動的に検索が始まるのが好ましい。
また、ソフトキーボードは自動的に閉じられると良い。
コードは以下のとおり。
EditText searchEdit = (EditText) findViewById(R.id.search_edit); searchEdit.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //EnterKeyが押されたかを判定 if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { //ソフトキーボードを閉じる InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0); //検索処理的な何か doSomething(); return true; } return false; } });