标签:
今天在做邮件登录的时候,遇到了输入框(Edittext)监听事件(TextWatcher),现在记录下。
首先看如下代码
eText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { Log.e("123", "ontextchange----" + "|arg0===" + arg0 + "|arg1===" + arg1 + "|arg2===" + arg2 + "|arg3===" + arg3); } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { Log.e("123", "before----" + "|arg0===" + arg0 + "|arg1===" + arg1 + "|arg2===" + arg2 + "|arg3===" + arg3); } @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub Log.e("123", "afterchange----" + "|arg0===" + arg0); } });
然后我们看下输出的log
1.这个是连续输入时候的log
07-27 16:58:56.692: E/123(6298): before----|arg0===|arg1===0|arg2===0|arg3===1 07-27 16:58:56.693: E/123(6298): ontextchange----|arg0===1|arg1===0|arg2===0|arg3===1 07-27 16:58:56.695: E/123(6298): afterchange----|arg0===1 07-27 16:59:04.962: E/123(6298): before----|arg0===1|arg1===1|arg2===0|arg3===2 07-27 16:59:04.963: E/123(6298): ontextchange----|arg0===1理解|arg1===1|arg2===0|arg3===2 07-27 16:59:04.965: E/123(6298): afterchange----|arg0===1理解 07-27 16:59:09.192: E/123(6298): before----|arg0===1理解|arg1===3|arg2===0|arg3===1 07-27 16:59:09.193: E/123(6298): ontextchange----|arg0===1理解我|arg1===3|arg2===0|arg3===1 07-27 16:59:09.200: E/123(6298): afterchange----|arg0===1理解我
2.这个是当我们删除一个字符的时候的输出结果
07-27 16:59:26.863: E/123(6298): before----|arg0===1理解我|arg1===3|arg2===1|arg3===0 07-27 16:59:26.863: E/123(6298): ontextchange----|arg0===1理解|arg1===3|arg2===1|arg3===0 07-27 16:59:26.877: E/123(6298): afterchange----|arg0===1理解
通过上面的结果我们总结下TextWatch的监听事件三个方法以及参数的意义
beforeTextChanged(CharSequence s,int start,int count,int after);
onTextChanged(CharSequence s,int start,int before,int count);
在EditText里的内容发生变化之时触发,
afterTextChanged(Editable s)
text变化之后触发,s是最终新的输入框内容
如果我们希望监听edittext,然后通过它的内容变化最edittext进行操作。操作应该是在after方法中进行。而且,在监听事件中进行edittext值操作,一定要避免事件的死循环。因为每一次edittext变化,都是导致监听事件的执行。
标签:
原文地址:http://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_textwatch_15727172.html