Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android StackOverflowerError:addTextChangedListener为无限循环运行_Android_Stack Overflow_Android Edittext - Fatal编程技术网

Android StackOverflowerError:addTextChangedListener为无限循环运行

Android 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

我正在尝试使用条形码扫描仪从条形码中读取值。我需要在处理完值后重置UI

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()
,谢谢您的帮助:)