Как получить представление в контексте метода 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
)
Ответы
Ответ 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));