EditText中beforeTextChanged,onTextChanged,afterTextChanged内部参数说明
来源:互联网 发布:龙之谷技能优化补丁 编辑:程序博客网 时间:2024/06/01 11:59
项目要实现密码输入,横线直接变为数字,然后点击软件盘的删除按钮数字还会变回横线,所以这里要用到几个方法的参数。
beforeTextChanged(CharSequence s, int start, int count, int after)
onTextChanged(CharSequence s, int start, int before, int count)
afterTextChanged(Editable s)
这里我们输入 1234 四个数字测试 理解的注意对比点在每一个字符位上,
只是帮助小白快读理解参数含义,大牛可以无视。
01-24 17:17:19.688 14412-14412/ D/xiaowu: beforeTextChanged start=0 after=1 count=0 s=
01-24 17:17:19.690 14412-14412/ D/xiaowu: onTextChanged start0 before=0 count=1 s=1
01-24 17:17:19.691 14412-14412/ D/xiaowu: afterTextChanged s=1
01-24 17:17:20.228 14412-14412/ D/xiaowu: beforeTextChanged start=1 after=1 count=0 s=1
01-24 17:17:20.230 14412-14412/ D/xiaowu: onTextChanged start1 before=0 count=1 s=12
01-24 17:17:20.231 14412-14412/ D/xiaowu: afterTextChanged s=12
01-24 17:17:20.710 14412-14412/ D/xiaowu: beforeTextChanged start=2 after=1 count=0 s=12
01-24 17:17:20.712 14412-14412/ D/xiaowu: onTextChanged start2 before=0 count=1 s=123
01-24 17:17:20.712 14412-14412/ D/xiaowu: afterTextChanged s=123
01-24 17:17:21.322 14412-14412/ D/xiaowu: beforeTextChanged start=3 after=1 count=0 s=123
01-24 17:17:21.324 14412-14412/ D/xiaowu: onTextChanged start3 before=0 count=1 s=1234
01-24 17:17:21.325 14412-14412/ D/xiaowu: afterTextChanged s=1234
这是从1开始输入到4的log打印,开始输入1的时候,log显示走的beforeTextChanged,解释:在变化之前,s=空,所以s输出空,从start=0的位置开始,将有长度为after=1的字符来替换原有文本,count=0,说明现在有count=0个字符被替换。 onTextChanged,解释:变化中,s=1,从位置start=0开始,before=0;意思就是被替换的字符长度为0,count=1;意思是讲要替换进来的文本长度为count=1。连起来说就是从start=0位置开始,有长度为count=1的字符把原本长度为before=0的字符替换掉。afterTextChanged解释;变化之后输出s=1.
然后输入2,log显示beforeTextChanged解释;变化之前,s=1,所以输出s=1,从start=0位置开始,有长度after=1的字符来替换原有文本,count=0,说明现在有0个字符被替换。onTextChanged解释;变化中s=12. 从位置start=1开始,before=0,意思就是被替换的字符长度为before=0,count=1;意思就是要替换进来的字符长度为count=1.连起来就是从位置start=1开始,字符长度为before=0的字符将要被长度为count=1的字符替换掉。以下以此类推。
下面是点击软键盘删除按钮的log打印
01-24 17:24:48.569 14412-14412/ D/xiaowu: beforeTextChanged start=3 after=0 count=1 s=1234
01-24 17:24:48.570 14412-14412/ D/xiaowu: onTextChanged start3 before=1 count=0 s=123
01-24 17:24:48.570 14412-14412/ D/xiaowu: afterTextChanged s=123
01-24 17:24:49.767 14412-14412/ D/xiaowu: beforeTextChanged start=2 after=0 count=1 s=123
01-24 17:24:49.769 14412-14412/ D/xiaowu: onTextChanged start2 before=1 count=0 s=12
01-24 17:24:49.770 14412-14412/ D/xiaowu: afterTextChanged s=12
01-24 17:24:50.633 14412-14412/ D/xiaowu: beforeTextChanged start=1 after=0 count=1 s=12
01-24 17:24:50.634 14412-14412/ D/xiaowu: onTextChanged start1 before=1 count=0 s=1
01-24 17:24:50.635 14412-14412/ D/xiaowu: afterTextChanged s=1
01-24 17:24:51.344 14412-14412/ D/xiaowu: beforeTextChanged start=0 after=0 count=1 s=1
01-24 17:24:51.346 14412-14412/ D/xiaowu: onTextChanged start0 before=1 count=0 s=
01-24 17:24:51.348 14412-14412/ D/xiaowu: afterTextChanged s=
这里也解释一遍。
现在输入的是1234,我们开始第一次点击删除按钮,第一次还是走beforeTextChanged解释;从位置start=3开始,after=0;意思就是将有长度为after=0的字符替换原有字符。count=1意思就是将有一个字符被替换掉。onTextChanged解释;输出s=123.从start=3位置开始,before=1;意思就是将要被替换的字符长度为1.count=0;意思就是要替换进来的字符长度为count=0;连起来就是 从start=3位置开始,原来长度为before=1的字符将要被长度为count=0的字符替换掉。
有空会把项目封好的密码输入拿进来。
- EditText中beforeTextChanged,onTextChanged,afterTextChanged内部参数说明
- EditText afterTextChanged 中 使用setText输入法异常问题
- onTextChanged参数解释及实现EditText字数监听
- onTextChanged参数解释及实现EditText字数监听
- onTextChanged参数解释及实现EditText字数监听
- EditText afterTextChanged 中setText使输入法切换回字母输入模式问题
- 安卓onTextChanged参数解释及实现EditText字数监听 Editable使用
- 【已解决】Android中给EditText添加的TextWatcher中的onTextChanged始终被调用(被执行多次)
- android :EditText-> inputType参数类型说明
- TextDialog.java中onTextChanged函数的解析
- Android afterTextChanged中逻辑卡顿的问题
- Android中TextWatcher afterTextChanged无限迭代异常
- Solr中参数说明
- android开发:EditText中各属性说明
- Android EditText TextWatcher 回调方法参数说明
- Android EditText 点击“下一个”跳转到指定的EditText 和inputType 参数类型说明
- php中_SERVER参数说明
- Rman中format参数说明
- 平方数 (sdut oj)
- 神经网络浅讲:从神经元到深度学习
- Gradle自定义BuildConfig
- 2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组马虎的算式
- 使用elasticsearch搭建集群
- EditText中beforeTextChanged,onTextChanged,afterTextChanged内部参数说明
- 2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组第39级台阶
- STM32 SPI DMA 的使用
- zeppelin-0.6.2-bin-all/conf/shiro.ini配置详情
- 第三章第二节 table()与报表
- 杨辉三角
- R语言之系统聚类(层次)分析之图谱形式完整版
- ionic2的返回按钮修改和tab上下显示的翻译
- 2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组有理数类