Como remover todos os ouvintes adicionados com addTextChangedListener
Eu tenho umListView
onde cada linha tem umEditText
ao controle. Eu quero adicionar umTextChangedListener
para cada linha; um que contém dados extras que indicam qual linha oEditText
estava dentro. O problema é que, comogetView
é chamado, váriosTextWatchers
são adicionados; porque oconvertView
já tem umTextWatcher
(e que aponta para uma linha diferente
MyTextWatcher watcher = new MyTextWatcher(currentQuestion);
EditText text = (EditText)convertView.findViewById(R.id.responseText);
text.addTextChangedListener(watcher);
MyTextWatcher
é minha classe que implementaTextWatcher
; e lida com os eventos de texto. CurrentQuestion me informa em qual linha estou atuando. Quando digito na caixa; várias instâncias deTextWatcher
são chamados
Existe alguma maneira de remover oTextWatchers
antes de adicionar o novo? Eu vejo oremoveTextChangedListener
, mas isso requer um @ específiTextWatcher
a ser passado e não sei como direcionar o ponteiro para oTextWatcher
que já está lá.