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

输入框在开发中是一个很常见的控件,可能很多时候我们不仅仅是用来简单的用它来输入内容这么简单,有时候可能还需要拿到甚至是监听输入框里面的内容,然后作出一个合理的逻辑判断,对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:之后的文字内容

            }
        });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值