(android) 同时监听多个edittext后 代码执行的次数

@Override

protected void onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.activity_main; et1=EditText findViewByIdR.id.et1; et2=EditText findViewByIdR.id.et2; EditText[] arr=new EditText[]{et1,et2}; for int i = 0; i < arr.length; i++ { arr[i].addTextChangedListenernew NewTextWatcherarr[i]; }
}
class NewTextWatcher implements TextWatcher{ private EditText editText; public NewTextWatcherEditText editText { this.editText = editText; } @Override public void beforeTextChangedCharSequence s, int start, int count, int after { // TODO Auto-generated method stub } @Override public void onTextChangedCharSequence s, int start, int before, int count { } @Override public void afterTextChangedEditable s { String msg4=editText.getText.toString; System.out.printlnmsg4; }
}

这个代码执行的时候上下两个edittext 在第一个edittext中输入后 在logcat中只有一条输出 但是在第二个edittext中输入一个数字之后 就会在logcat中输入两个日志 被执行了两次

我不太清楚原因,从代码上看没什么问题,afterTextChanged会在输入后触发,setText执行后触发。
其次如果存在EditText addTextChangedListener 执行两次也会执行,因为addTextChangedListener 为add,里面是一个list,可以存在多个,不像onclick是单个的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注