android EditText 实时监听输入框的内容

本文介绍了如何在Android应用中使用TextWatcher实时监听EditText输入内容,并通过正则表达式进行数字、汉字和字母的验证。示例代码展示了在afterTextChanged方法中进行输入判断并展示错误提示的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中很多时候我们都会用到EditText,对输入内容的实时监听也是不可或缺的。

在android中为我们提供了TextWatcher这个类,我们只要extends这个类然后etColler.addTextChangedListener(editclick);就可以实时监听了。

例:我们写一个文本框

<EditText
            android:id="@+id/et_coller"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:hint="请输入"
          />

然后在activity:

private TextWatcher editclick = 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) {


        }

//一般我们都是在这个里面进行我们文本框的输入的判断,上面两个方法用到的很少
        @Override
        public void afterTextChanged(Editable s) {
            String money = etColler.getText().toString();
            Pattern p = Pattern.compile("[0-9]*");
            Matcher m = p.matcher(money);
            if (m.matches()) {


            } else {
                ToastUtil.toastCenter(BuyCuurseActivity.this, "请输入正确的缴费金额");
                etColler.setText("");
            }
        }
    };

在这里我判断的是EditText输入的是不是数字,用到了正则表达式。假如你要判断输入的是汉字p=Pattern.compile("[\u4e00-\u9fa5]");判断输入的是子母:p=Pattern.compile("[a-zA-Z]"); 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值