0

我在我的应用程序中编辑了文本,它只捕获十进制数字。我已将输入类型设置为 DECIMAL_NUMBERS。

问题是,如果用户输入例如 0009 我想防止这种情况发生,并在开始时删除零。

任何的想法?

4

3 回答 3

3

覆盖onTextChanged (CharSequence text, int start, int lengthBefore, int lengthAfter)方法以更正用户输入并使用添加它addTextChangedListener

于 2012-10-14T10:38:42.070 回答
0

这就是解决方案。肿瘤坏死因子。:)

@Override
public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            if (start == 0 && s.toString().equals("0"))
                editText.setText("");
        };
于 2012-10-14T10:49:09.647 回答
0

您可以通过字符串的regexand函数摆脱零replaceFirstreplaceFirst("^0+(?!$)", "")

您可以在这里尝试正则表达式:http ://regexr.com?32f1o

于 2012-10-14T10:57:38.433 回答