我在我的应用程序中编辑了文本,它只捕获十进制数字。我已将输入类型设置为 DECIMAL_NUMBERS。
问题是,如果用户输入例如 0009 我想防止这种情况发生,并在开始时删除零。
任何的想法?
我在我的应用程序中编辑了文本,它只捕获十进制数字。我已将输入类型设置为 DECIMAL_NUMBERS。
问题是,如果用户输入例如 0009 我想防止这种情况发生,并在开始时删除零。
任何的想法?
覆盖onTextChanged (CharSequence text, int start, int lengthBefore, int lengthAfter)
方法以更正用户输入并使用添加它addTextChangedListener
这就是解决方案。肿瘤坏死因子。:)
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (start == 0 && s.toString().equals("0"))
editText.setText("");
};
您可以通过字符串的regex
and函数摆脱零replaceFirst
replaceFirst("^0+(?!$)", "")
您可以在这里尝试正则表达式:http ://regexr.com?32f1o