EditText 限制字符数

2023-06-26  本文已影响0人  皓皓amous

EditText editText = findViewById(R.id.editText);

// 设置最大字符数限制
int maxLength = 10;
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(maxLength);
editText.setFilters(filters);

// 添加 TextWatcher 监听器
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// 不需要实现
}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    // 不需要实现
}

@Override
public void afterTextChanged(Editable editable) {
    // 检查输入的字符数是否超过最大限制
    if (editable.length() > maxLength) {
        // 超过最大限制,截断字符串
        String truncatedText = editable.toString().substring(0, maxLength);
        editText.setText(truncatedText);
        editText.setSelection(maxLength); // 设置光标位置
    }
}

});

上一篇 下一篇

猜你喜欢

热点阅读