Скрытие клавиатуры, когда пользователь нажимает клавишу возврата на клавиатуре - PullRequest
1 голос
/ 22 января 2012

Во-первых, я не знаю, какой код клавиши используется для клавиши 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 - это код клавиши для этого Клавиша возврата и YYY - это то, что я должен заполнить. Я хотел бы YYY универсальный, который применяется ко всем полям edittext в программе

1 Ответ

1 голос
/ 22 января 2012

Я не уверен, почему вы пытаетесь обработать это методом 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 (фактически, любого представления), где вы хотите это поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...