@Android实现限制EditText输入文字的数量
先上效果图

TextView tv_num;
int num = 0;
EditText et_content;
//文字控制
et_content.addTextChangedListener(new TextWatcher() {
private CharSequence temp;
private int selectionStart;
private int selectionEnd;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
temp = s;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() > 200) {
et_content.setText(s.toString().substring(0, 200)); //设置EditText只显示前面6位字符
et_content.setSelection(200);//让光标移至末端
Toast.makeText(DepartmentActivity.this, "输入字数已达上限",
Toast.LENGTH_SHORT).show();
} else {
int number = num + s.length();
tv_num.setText(String.valueOf(number) + "/ 200");
selectionStart = et_content.getSelectionStart();
selectionEnd = et_content.getSelectionEnd();
if (temp.length() < num) {
int tempSelection = selectionStart;
et_content.setText(s);
et_content.setSelection(tempSelection);//设置光标在最后
}
}
}
});
本文介绍如何在Android应用中使用EditText控件实现输入文字数量限制,当超过200字符时,仅显示前200个字符并提示用户。通过监听TextWatcher实现动态截断和光标位置调整。
1396

被折叠的 条评论
为什么被折叠?



