0

我正在尝试使用条形码扫描仪从条形码中读取值。处理完值后,我需要重置 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。

4

1 回答 1

1

afterTextChanged应用此检查时:

if(!scanned_barCode.getText().toString().equals(""))
{
    AddRecord(scanned_barCode.getText().toString());
    SetDataOnUI();
}
于 2013-03-04T07:16:35.573 回答