在EditText上我使用android:maxLength =“3”,数字仅作为.xml中的输入 但是当达到限制并且用户继续单击时,该数字保持不变。
我希望在用户继续点击时更改最后一位数字。
示例: 用户点击3个数字= 456 在第4次他点击'0'= 450 (前两个数字保持不变,除了最后一个数字,每次点击都会改变,直到他确认数字为止)
答案 0 :(得分:1)
最后,我自己找到了答案,这里的解决方案对我有用。
在我使用.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"
... />
答案 1 :(得分:0)
android:maxLength="n"
限制EditText
在达到最大长度后获取用户按下的键。
因此,如果您想在最后添加最后按下的数字并删除EditText
中当前数字的第一个数字,请将android:maxLength
值设置为大于n的数字。 (在你的情况下n = 3)。
然后使用setOnKeyListener按照您的意愿执行EditText
中的数字。
在setOnKeyListener
中使用getText()
获取字符串中的数字并根据需要进行更改,然后使用setText()
将更改反映在EditText