Скрытие клавиатуры, когда пользователь нажимает клавишу возврата на клавиатуре

1

Во-первых, я не знаю, какой ключевой код для ключа Return или Backspace тот, у которого есть строка на клавиатуре Android.

Во-вторых, у меня есть несколько полей edittext на экране, и я хочу, чтобы каждый из них покинул клавиатуру, когда пользователь нажал клавишу Return.

    imm= (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

   public void onClick(View v) {
     int flag;
     flag=v.getId();
     // keycode for return
     if(v.getId()==XX) {
         imm.hideSoftInputFromWindow(YYY.getWindowToken(), 0);

     }

XX - это ключевой код для этого ключа Return, и YYY - это то, что я должен заполнить. Мне хотелось бы, чтобы YYY generic применялся ко всем полям edittext в программе

Теги:
key

1 ответ

1
Лучший ответ

Я не уверен, почему вы пытаетесь обработать это методом onClick. Правильный путь, я думаю, состоит в вызове setOnKeyListener() для каждого вида EditText и в вашем OnKeyListener, вы можете сделать это:

public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode = KeyEvent.KEYCODE_ENTER) {
        // non-null only for enter key
        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
        return true;
    }
    return false;
}

Один экземпляр OnKeyListener может использоваться для всех представлений EditText (вообще-то, вообще), где вы хотите этого поведения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню