Введите данные в EditText и ответьте, не нажимая enter

#android

#Android

Вопрос:

У меня есть EditText с прослушивателем.

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

            // Perform action on key press
            return true;
        }
        return false;
    }
});
  

Теперь я хочу использовать данные, введенные пользователем в текстовое поле в моей программе, без нажатия пользователем enter. (Если я удаляю (keyCode == KeyEvent.KEYCODE_ENTER) , то программа по какой-то причине зависает).

Что я должен сделать, чтобы определить, что пользователь ввел какой-то символ в текстовое поле?

Ответ №1:

Я думаю, вы хотите реализовать функциональность, например, всякий раз, когда пользователь вводит любой символ, который вы хотите проверить, если это так, то для вас есть класс TextWatcher. В котором вы можете переопределить его 3 метода: afterTextChanged , beforeTextChanged и onTextChanged .

 mPasswordLength = (EditText)findViewById(R.id.password_length);
mPasswordLength.addTextChangedListener(new TextWatcher() {
    public void afterTextChanged(Editable s) {
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
});