我在编辑文本上使用文本监视器,编辑文本在列表视图内。我必须调用一个方法,而编辑文本长度== 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;
}
}
});
这是我的日志输出,计数消息重复
>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
请一些人帮助我限制文本监视事件的多次执行。提前感谢。
请确保您没有在obkeywordsuggested interface . getkeywordusingchar内设置edittext文本