多个editText监听事件

来源:互联网 发布:用c 计算矩阵特征值 编辑:程序博客网 时间:2024/05/16 12:56

今天做项目,一个界面中有多个editText,由于实现的逻辑基本相同,所有如果为每一个editText都写一个监听,会显得比较麻烦,

于是,就把editText的监听事件写到一个类里面,通过构造方法,把需要操作的editText传进来

代码如下:

/** * 重构editText监听事件 */public class MyTextWatcher implements TextWatcher {    private EditText editText;    public MyTextWatcher(EditText editText) {        this.editText = editText;    }    /**     * 文本输入改变之前调用(还未改变)     */    @Override    public void beforeTextChanged(CharSequence s, int start, int count, int after) {    }    /**     * 文本改变过程中调用(文本替换动作)     */    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {        String onlineRate = String.valueOf(s);        if (!onlineRate.equals("")) {            Integer onlineRates = Integer.parseInt(onlineRate);            if (100 < onlineRates) {                editText.setText("100");                //将editText的光标移动到文本最后位置                editText.setSelection(editText.getText().length());            }        }    }    /**     * 文本改标之后调用(文本已经替换完成)     */    @Override    public void afterTextChanged(Editable s) {    }}

这样就已经完成了,接下来就是调用了,把你的editText传进去就可以了

editText.addTextChangedListener(new MyTextWatcher(editText));




0 0
原创粉丝点击