美文网首页
TextWatcher回调方法参数学习记录

TextWatcher回调方法参数学习记录

作者: hongSirX | 来源:发表于2017-07-17 14:24 被阅读15次

代码

 editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                Log.d(TAG, "beforeTextChanged: " + "s=" + s + " start=" + start + " count=" + count + " after=" + after);
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                Log.d(TAG, "onTextChanged: " + "s=" + s + " start=" + start + " before=" + before + " count=" + count);
            }

            @Override
            public void afterTextChanged(Editable s) {
                Log.d(TAG, "afterTextChanged: " + s.toString());
            }
        });
  • 键盘输入1
07-17 11:49:15.074 4184-4184/com.example.asher.edittextstudy D/MainActivity: beforeTextChanged: s= start=0 count=0 after=1
07-17 11:49:15.074 4184-4184/com.example.asher.edittextstudy D/MainActivity: onTextChanged: s=1 start=0 before=0 count=1
07-17 11:49:15.074 4184-4184/com.example.asher.edittextstudy D/MainActivity: afterTextChanged: 1
  • 键盘输入2
07-17 11:50:10.651 4184-4184/com.example.asher.edittextstudy D/MainActivity: beforeTextChanged: s=1 start=1 count=0 after=1
07-17 11:50:10.651 4184-4184/com.example.asher.edittextstudy D/MainActivity: onTextChanged: s=12 start=1 before=0 count=1
07-17 11:50:10.652 4184-4184/com.example.asher.edittextstudy D/MainActivity: afterTextChanged: 12
  • 键盘删除2
07-17 11:50:38.766 4184-4184/com.example.asher.edittextstudy D/MainActivity: beforeTextChanged: s=12 start=1 count=1 after=0
07-17 11:50:38.767 4184-4184/com.example.asher.edittextstudy D/MainActivity: onTextChanged: s=1 start=1 before=1 count=0
07-17 11:50:38.767 4184-4184/com.example.asher.edittextstudy D/MainActivity: afterTextChanged: 1

总结

对于beforeTextChanged的四个参数s,start,count,after的意思分别是
s:改变之前的editext的值
start:改的内容的实际开始位置,比如输入1时,从位置0开始添加start为0,输入2时从位置1开始添加,start就是1
count:count是指被改变的字符的总长度,比如最开始输入1是,由于edittext最初始是空的,是从空字符串变成1,则count是0,而输入2时,变化的效果是1后面的空字符串变成2,则count也是0
after:after是指改变之后替换原先内容的字符串,比如输入1,是空字符串变成1,则after是1,而输入2时,是1后面的空字符串变成2,则after也是1

对于onTextChanged的三个参数s,start,before,count的意思分别是
s:改变之后的字符串
start:和上面beforeTextChanged意思一样
before:和上面beforeTextChanged的count意思一样
count:和上面beforeTextChanged的after意思一样

对于afterTextChanged的参数s的意思是
s:最终的字符串内容

相关文章

  • TextWatcher回调方法参数学习记录

    代码 键盘输入1 键盘输入2 键盘删除2 总结 对于beforeTextChanged的四个参数s,start,c...

  • Node Native (6) fs

    异步方法的最后一个参数都是一个回调函数。 传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。...

  • 数组的reduce方法

    reduce方法 1.reduce接受一个回调函数作为参数 2.回调函数参数(prev,next,index,cu...

  • Kotlin使用接口回调

    1.Java中的接口回调实现(支持多方法回调) 声明回调接口,初始化接口 使用接口回调(无参数) 使用接口回调(带...

  • Android Module之间数据传递

    方法一:使用接口回调 (1)在子module创建回调接口(参数可变) (2)在子module 实现类设置接口回调 ...

  • 入库,库存增加明细单据回传API_V1.0.md

    回调说明 所有方法 回调参数包含在请求体(requestBody)中, 所有参数按照json格式发送,编码格式为U...

  • 出库,库存消减明细单据回传API_V1.0

    回调说明 所有方法 回调参数包含在请求体(requestBody)中, 所有参数按照json格式发送,编码格式为U...

  • 怎么使用oc中的block

    **局部变量**: **声明**: **方法中的参数**: **回调**: **typedef**:

  • ReactNative 组件间通讯

    参考文章参考 子组件传递参数到父组件 (回调) 在父组件中定义一个带参数的方法 price就是最后回调的参数。设置...

  • 同步,异步

    js异步操作的方法:1.回调函数就是把一方法当作参数传到另一个方法里。有两种回调方式:同步回调和有异步回调 同步回...

网友评论

      本文标题:TextWatcher回调方法参数学习记录

      本文链接:https://www.haomeiwen.com/subject/pnifkxtx.html