您的位置:首页 > 移动开发 > Android开发

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

2017-09-02 17:20 387 查看
在开发中很多时候我们都会用到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]"); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: