Обработайте «Enter» в EditText и вставьте в него символ - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть EditText.Я хочу, чтобы всякий раз, когда пользователь нажимал клавишу ввода, автоматически вставлялся номер (инкрементные числа).Должен ли я использовать TextWatcher интерфейс или OnEditorActionListener?Если я использую TextWatcher, как распознать клавишу enter.Я делаю это, но ничего не произошло.

 View.OnKeyListener onEnter = new View.OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN)
                    && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                edtInput.addTextChangedListener(new HandlEventEditText(edtInput));

            }
            return false;
        }
    };

и HandlEventEditText класс

public class HandlEventEditText implements TextWatcher {
    @Override
    public void afterTextChanged(Editable s) {
        editText.setText("4");
    }

}

1 Ответ

0 голосов
/ 12 сентября 2018

Решение:

Используйте вот так:

editText.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View view, int keyCode, KeyEvent keyevent) {
        //If the keyevent is a key-down event on the "enter" button
        if ((keyevent.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {

            //...
            // ...
            // ...    

            return true;
        }
        return false;
    }
});

Вы можете ввести логику там, и ваша клавиша Enter будет делать, как вы говорите.

Надеюсь, это поможет.

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