从EditText中删除maxLength集



如我们所知,EditTextmaxLength由设置

android:maxLength="19"

或以编程方式。我的问题是,如果这个maxLength被设置为一定的长度,我如何通过编程删除它?我想将maxLength设置为可能的最大长度。

只需尝试设置空的InputFilter数组以删除最大长度。

etEmail.filters = arrayOf<InputFilter>()

在android中有EditText,有时你可能想限制字符输入。XML布局中的EditText会让你用android:maxLength来做这件事,但在代码中,你可能会想为什么没有任何setMaxLength函数。这背后的原因是,当你想限制EditText接受特定的值时,你必须过滤它们,这将由setFilters调用,从而使我们的EditText具有固定的大小。

EditText et = new EditText(this);
int maxLength = 3;
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(maxLength);
et.setFilters(FilterArray);

您也可以将以下代码添加到ext文件中并使用它:-(

fun styleLimitText(text: String, length: Int): String {
    if (text.length > length) return text.substring(0, length) + "..."
    return text
}

只需尝试将maxLength属性设置为-1

android:maxLength="-1"

或程序化

int maxLengthofEditText = -1
editText.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maxLengthofEditText)});

最新更新