Как получить представление в контексте метода TextWatcher? - программирование
Подтвердить что ты не робот

Как получить представление в контексте метода TextWatcher?

У меня есть обработчик, который является TextWatcher, и я не знаю, как получить View, который изменил текст.

Вот мой обработчик:

TextWatcher handler = new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        oldText = s.toString();
    }

    @Override
    public void afterTextChanged(Editable s) {
        //v.setText("afterTextChanged");
    }
};

Обратите внимание на часть комментариев, которую я хочу, чтобы получить View из EditText, который вызвал событие, изменить текст после изменения текста.

Как я могу достичь этого метода .setText() внутри события afterTextChanged? (Как событие onClick, это представление v)

4b9b3361

Ответ 1

public static class MyTextWatcher implements TextWatcher {

    private EditText mEditText;

    public MyTextWatcher(EditText editText) {
        mEditText = editText;
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        oldText = mEditText.toString();
    }
    ....
}

Добавьте его с помощью

    mFirstEditText.addTextChangedListener(new MyTextWatcher(mFirstEditText));