у меня есть ListView
, где каждая строка имеет элемент управления EditText
. Я хочу добавить TextChangedListener
в каждую строку; тот, который содержит дополнительные данные, в которых говорится, в какой строке был EditText
. Проблема в том, что при вызове getView
добавляются несколько TextWatcher
; потому что convertView
уже имеет TextWatcher
(и тот, который указывает на другую строку).
MyTextWatcher watcher = new MyTextWatcher(currentQuestion);
EditText text = (EditText)convertView.findViewById(R.id.responseText);
text.addTextChangedListener(watcher);
MyTextWatcher
- это мой класс, который реализует TextWatcher
; и обрабатывает текстовые события. CurrentQuestion позволяет мне узнать, в какой строке я действую. Когда я печатаю в поле; вызывается несколько экземпляров TextWatcher
.
Есть ли способ удалить TextWatcher
перед добавлением нового? Я вижу метод removeTextChangedListener
, но для этого требуется передача определенного TextWatcher
, и я не знаю, как получить указатель на TextWatcher
, который уже есть.