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());
}
}
});