Java 达到maxLength后如何更改最后一个数字
在EditText上,我使用的是android:maxLength=“3”,其中数字仅作为.xml中的输入 但是当达到限制并且用户继续单击时,数字保持不变 我想在用户继续单击时更改最后一位数字 样本: 用户单击3个数字=456 在第四次单击“0”=450 (前两个数字保持不变,但最后一个数字会随着每次点击而改变,直到他确认数字)Java 达到maxLength后如何更改最后一个数字,java,android,xml,Java,Android,Xml,在EditText上,我使用的是android:maxLength=“3”,其中数字仅作为.xml中的输入 但是当达到限制并且用户继续单击时,数字保持不变 我想在用户继续单击时更改最后一位数字 样本: 用户单击3个数字=456 在第四次单击“0”=450 (前两个数字保持不变,但最后一个数字会随着每次点击而改变,直到他确认数字)android:maxLength=“n”限制用户在达到最大长度后按下编辑文本 因此,如果要在末尾添加上次按下的数字,并删除EditText中当前数字的第一位,请将and
android:maxLength=“n”
限制用户在达到最大长度后按下编辑文本
因此,如果要在末尾添加上次按下的数字,并删除EditText
中当前数字的第一位,请将android:maxLength
值设置为大于n的数字。(就您的情况而言,n=3)
然后使用EditText
中的数字执行您想要的操作
在
setOnKeyListener
中,使用getText()
获取字符串中的数字并根据需要进行更改,然后使用setText()
使更改反映在EditText
中。最后,我自己找到了答案,这是适合我的解决方案
在使用.append(在屏幕上显示数字)之前的onClick()方法中,我插入了小助手方法checkLength()来检查和限制3个以上的数字
在.java文件中:
private void checkLength() {
Editable editable = mNumber.getText();
int charCount = editable.length();
if (charCount > 2) {
editable.delete(charCount - 1, charCount);
}
在.xml文件中:
<EditText
...
android:maxLength="3"
... />
欢迎来到StackOverflow。在询问之前,请仔细阅读文档并在StackOverflow中搜索类似问题!