以下只是我解决问题过程中的一点点个人总结,点滴积累,贵在坚持,感谢你的阅览!
以45个字符限制为例:
final int maxInputCharCount = 45;//定义一个 int 常量,取值45,表示字符限制为45
mEditText.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {if(s.length() > maxInputCharCount){int c = count - (s.length() - maxInputCharCount);s = s.subSequence(0, start + c).toString() + s.subSequence(start + count, s.length()).toString();mEditText.setText(s);mEditText.setSelection(start + c);}}@Overridepublic void afterTextChanged(Editable s) {String editable = mEditText.getText().toString();if (!editable.equals(str)) {mEditText.setText(str);int length = mEditText.getText().toString().length();if (length > 0 && length <= maxInputCharCount) {mEditText.setSelection(length);}}int leftLength = maxInputCharCount - mEditText.length();if(leftLength == 0){//Toast提示已超过输入上限}}});