андроид отправить ключ вылетает - PullRequest
1 голос
/ 18 февраля 2011

Мне нужно проверить ключ ввода, чтобы начать процедуру поиска. Все работы, за исключением некоторых клавиатур, похоже, имеют кнопку SEND вместо кнопки ENTER. Когда это нажата, код сбрасывает. У меня есть небольшой образец ниже. Есть идеи?

tx1.setOnEditorActionListener (new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        System.out.println("Key: " + event.getKeyCode()); //BLOWS UP HERE
        if  (event.getAction() ==  KeyEvent.ACTION_DOWN) {
            if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                // ...
            }
        }
    }
}

1 Ответ

2 голосов
/ 18 февраля 2011

Я считаю, что в этом случае событие является нулевым. для обнаружения действия отправки на программной клавиатуре ваш onEditorActionListener должен просто сделать это.

onEditorAction(TextView v, int actionId, KeyEvent event){
    if(actionId == EditorInfo.IME_ACTION_SEND){
        send();
    }
    return false;// so the softkeyboard will still close after pressing 'send'
}
...