如我们所知,EditText
的maxLength
由设置
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)});