EditText限制输入字数

来源:互联网 发布:edius软件在那里下载 编辑:程序博客网 时间:2024/05/16 14:22

EditText限制输入字数

小功能,封装一个方法即可,记录一下直接copy使用。

    private final int LIMIT_LENGTH = 4;    private int beforeLength;//输入前长度    private int coursor;//当前光标位置        //限制输入长度4        etGoodName.addTextChangedListener(new TextWatcher() {            @Override            public void beforeTextChanged(CharSequence s, int start, int count, int after) {                beforeLength = s.length();            }            @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {                coursor = start;            }            @Override            public void afterTextChanged(Editable s) {                int afterLength = s.length();                if (s.length() > LIMIT_LENGTH) {                    int over = afterLength - LIMIT_LENGTH;//超出最大限制多少字                    int input = afterLength - beforeLength;//输入了多少字                    int st = coursor + (input - over);                    int en = coursor + input;//此时游标末尾                    Editable finStr= s.delete(st, en);//                    mView.setFeedbackContent(finStr.toString(), st);//                    mView.updateNum(newStr.toString().length());                    //ToastUtils.showShortToast(mContext, "超出长度限制");                } else {//                    mView.updateNum(s.toString().length());                }            }        });
原创粉丝点击