I希望允许用户在EditText中输入最多10个字符。我尝试了两种方法。
方法二:
我使用了InputFilter类。
当我使用这些方法时,光标停留在10处,没有更多的字符可见。然而,它仍然接受我在这10个字符之后输入的字符。我可以在键盘上方的建议区域中看到它们。为了清楚地解释,让我举个例子。
假设我输入了“abcdefghij”,它可以正常工作。现在,假设我输入了“abcdefghijklm”,我只能在EditText中看到前10个字符,但是当我按下退格键时,它会删除最后一个字符“m”,而不是删除在EditText中可见的最后一个字符“j”。
我该如何解决这个问题?我不想保留缓冲区中的额外字符。因此,当用户按下退格键时,它应该删除第10个字符。
方法1:
android:maxLength="10"
方法二:
我使用了InputFilter类。
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
当我使用这些方法时,光标停留在10处,没有更多的字符可见。然而,它仍然接受我在这10个字符之后输入的字符。我可以在键盘上方的建议区域中看到它们。为了清楚地解释,让我举个例子。
假设我输入了“abcdefghij”,它可以正常工作。现在,假设我输入了“abcdefghijklm”,我只能在EditText中看到前10个字符,但是当我按下退格键时,它会删除最后一个字符“m”,而不是删除在EditText中可见的最后一个字符“j”。
我该如何解决这个问题?我不想保留缓冲区中的额外字符。因此,当用户按下退格键时,它应该删除第10个字符。