EditText的输入检测
在开发的工程中有时会遇到要对EditText的输入进行检测,例如检测用户输入是否符合某些特定规则(比如密码要包含大小写字母数字等等)或者及时判断用户是否输入了字符,对界面进行即时的更改等等。其实EditText为我们提供一个很方便的监听器,我们只需要实现它的方法就可以解决这个看似困难的问题了。
Java代码
我们只需要为EditText添加一个addTextChangedListener并且实现其中的方法即可。示例代码如下:
invite_key_edit.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
}
});
其中
函数
public void beforeTextChanged用于即时检测用户在更改字符前触发,触发后执行相应操作(需要注意的是输入字符前的定义是,用户一定要输入字符,即对EditText的内容进行更改才会触发这个函数,而只是点击EditText而没做出任何更改是不会触发函数的!!)函数
public void onTextChanged用于即时检测用户在更改EditText字符时触发,触发后执行相应方法。触发注意事项同上。函数
public void afterTextChanged用于即时检测用户在更改EditText字符后触发。这是最常使用到的一个方法,触发注意事项同上。
实现这个监听器后可以使EditText做到更多事情,使原本复杂的代码变得更加简单。

