Как убрать фокус с EditText, когда пользователь закончил редактирование?

У меня есть один EditText на моем макете. После того, как пользователь вводит текст и нажимает клавишу "готово", я хотел бы убрать мигающий курсор. Я просмотрел StackOverflow и нашел 3 ответа, которые мне не помогли. Мигающий курсор все еще остается.

private class MyOnKeyListener implements OnKeyListener {
  public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN
    && keyCode == KeyEvent.KEYCODE_ENTER) {
      // FAIL 0
      MyActivity.this.findViewById(R.id.someOtherView).requestFocus();

      // FAIL 1
      InputMethodManager imm = (InputMethodManager)getSystemService(
        Context.INPUT_METHOD_SERVICE
      );
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

      // FAIL 2
      MyActivity.this.getWindow().setSoftInputMode(
        WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
      );

      return true;
    } else {
      return false;
    }
  }
}
25
задан mmBs 17 September 2013 в 11:00
поделиться