Java 验证后使用TextWatcher重复EditText

Java 验证后使用TextWatcher重复EditText,java,android,validation,android-edittext,android-textwatcher,Java,Android,Validation,Android Edittext,Android Textwatcher,我有一个带掩码的EditText“###-######.####”结果是11-111.111,所以我决定使用一个TextWatch,所以我做了 cepFrom.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

我有一个带掩码的
EditText
“###-######.####”结果是11-111.111,所以我决定使用一个TextWatch,所以我做了

cepFrom.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(s.length() == 10){
                //getCepFrom(s.toString());
                Toast.makeText(DetalhesProdutos.this, "OK", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

这将消耗一个Web服务,但只是为了测试,带有OK消息的Toast会执行两次,我不知道为什么…

Move
Toast.makeText(DetalhesProdutos.this,“OK”,Toast.LENGTH\u SHORT).show()
后文本更改
它不断重复,就像在某个循环中一样?我想你把吐司的代码放在了某个地方,错误地检查了它,因为它对我有用
   cepFrom.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
     if(cepFrom.getText().length() == 10){
            //getCepFrom(s.toString());
            Toast.makeText(DetalhesProdutos.this, "OK", Toast.LENGTH_SHORT).show();
        }
    }
});