监听EditText输入框内输入内容的变化

来源:互联网 发布:淘宝菲艺轩怎么样 编辑:程序博客网 时间:2024/04/30 23:37

输入框在开发中是一个很常见的控件,可能很多时候我们不仅仅是用来简单的用它来输入内容这么简单,有时候可能还需要拿到甚至是监听输入框里面的内容,然后作出一个合理的逻辑判断,对EditText监听安卓系统提供了TextWatcher来监听输入框里面内容的变化情况。示例如下

 ed_content.addTextChangedListener(new TextWatcher() {            @Override            public void beforeTextChanged(CharSequence s, int start, int count, int after) {                Log.e("xie","beforeTextChanged"+s+"   "+start+"    "+count+"   "+after);                // s:之前的文字内容                // start:添加文字的位置(从0开始)                // count:不知道 一直是0                // after:添加的文字总数            }            @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {                Log.e("xie","onTextChanged"+s+"   "+start+"    "+"     "+before+"   "+count+"   ");                // s:之后的文字内容                // start:添加文字的位置(从0开始)                // before:不知道 一直是0                // before:添加的文字总数                if (s.length() > 6){                    Toast.makeText(MainActivity.this,"输入长度不允许超过6位",Toast.LENGTH_LONG).show();                    s = s.toString().substring(0,s.length()-1).trim();                    ed_content.setText(s.toString());                    ed_content.setSelection(s.length());  //设置输入光标的位置                }            }            @Override            public void afterTextChanged(Editable s) {                Log.e("xie","afterTextChanged"+s+"   ");                // s:之后的文字内容            }        });


0 0