Android StackOverflowerError:addTextChangedListener为无限循环运行
我正在尝试使用条形码扫描仪从条形码中读取值。我需要在处理完值后重置UIAndroid StackOverflowerError:addTextChangedListener为无限循环运行,android,stack-overflow,android-edittext,Android,Stack Overflow,Android Edittext,我正在尝试使用条形码扫描仪从条形码中读取值。我需要在处理完值后重置UI if(flag){ System.out.println("coming inside if"); scanned_barCode.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence
if(flag){
System.out.println("coming inside if");
scanned_barCode.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
AddRecord(scanned_barCode.getText().toString());
SetDataOnUI();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}else{
scanned_barCode.setText("");
}
我想这会给StackOverError,因为它会进入无限循环。我如何克服这个问题。每次调用
AddRecord(String str)
时,我都需要将editText设置为null。在后文本更改中
应用此检查:
if(!scanned_barCode.getText().toString().equals(""))
{
AddRecord(scanned_barCode.getText().toString());
SetDataOnUI();
}
使其成为后文本更改()的一部分,而不是onTextChange(),仍然相同:(我已尝试在
SetDataOnUI()的最后一行添加setText()
,谢谢您的帮助:)