etSuggestion.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Editable editable = etSuggestion.getText();
int len = editable.length();
//显示还可以输入多少字
tvSize.setText(len + "" + "/500");
if (len > 500) {
ToastUtil.showToast(getApplicationContext(), "超出字数限制");
int selEndIndex = Selection.getSelectionEnd(editable);
String str = editable.toString();
//截取新字符串
String newStr = str.substring(0, 500);
etSuggestion.setText(newStr);
editable = etSuggestion.getText();
//新字符串的长度
int newLen = editable.length();
//旧光标位置超过字符串长度
if (selEndIndex > newLen) {
selEndIndex = editable.length();
}
//设置新光标所在的位置
Selection.setSelection(editable, selEndIndex);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
Android_EditText输入字数限制与监听
最新推荐文章于 2024-10-24 16:42:33 发布