Я использую наблюдатель за текстом для редактирования текста, и этот текст редактирования находится внутри представления списка. Я должен вызвать метод при редактировании длины текста == 3. Но события наблюдателя за текстом выполняются более одного раза. Вот мой код:
holder.etTypeKeyword.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//System.out.println("KEYWORD TYPED : "+s+ " count : "+count);
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(s.length()==3){
// isServiceCall=true;
System.out.println("CALLING COUNT : " + position + " Length "+holder.etTypeKeyword.getText());
obKeywordSuggestionInterface.getKeywordUsingChar(s.toString(),position);
}else{
// isServiceCall=false;
}
}
});
Вот мой вывод журнала, где повторяется сообщение count
>I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
I/System.out: CALLING COUNT : 2 Length
I/System.out: CALLING COUNT ACT : 2 Length Fun
Пожалуйста, помогите мне в этом, чтобы ограничить многократное выполнение событий текстового наблюдателя. Заранее спасибо.