对EditText控件,监控文本变化,使用addTextChangedListener方式,使用TextWatcher,如下
如果在回调方法中调用setText(),会进入无限循环,需要增加判断条件,afterTextChanged中去改变Editable s的值会触发TextWatcher的3个回调方法,会进入无限循环,需要增加判断条件!
在使用该方法时,如果不设置过滤的话,获取值的同时,报类型转换错误。如下:
也有可能在删除文本时,报 “ ” 转换异常(之前报过几回错误,但是后续没有再次出现,有些头大)
在外部获取更改的值时,可以使用removeTextChangedListener来获取,但是只能获取第一次输入的值,不提倡
在使用TextWtacher时,需要调用InputFilter过滤
(InputFilter是系统提供的一个接口,是一个过滤器,修改传入的字符串,返回值类型为CharSequence.)