美文网首页
EditText监听,TextWatcher的onTextCha

EditText监听,TextWatcher的onTextCha

作者: 楷桐 | 来源:发表于2017-12-19 17:38 被阅读22次

在网上找了一圈,关于这个方法的参数,看好几遍看不懂,原本以为是我理解的有问题,后来自己动手实践了才发现,那些文章是真的垃圾。

我把我动手实践的结论发一下:

 ((EditText) findViewById(R.id.et_edit)).addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

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

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
打印结果

参数介绍:

  • CharSequence: 就是你输入到EditText上的字符串,和afterTextChanged的那个参数效果一样

  • start:你修改的字符的下标,你也可以理解成index。 比如Edittext上已经有了“1”,我再输入一个字符“2”,这时在索引为1的地方增加了一个字符,所以start就是1。删除字符道理也是一样,哪个位置index发生了改变,start就是几。

  • before:跟删除相关。当你删除一个字符,before为1,count为0。别理解错了,由于你删除也好增加也好,每次都是变动一个字符,所以这个before总是1。count也是一样。

  • count:跟增加相关。当你增加一个字符时,count为1,before为0

看完参数介绍,再回过头看那个插图,相信你会清楚。

相关文章

网友评论

      本文标题:EditText监听,TextWatcher的onTextCha

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