我是新手android &我在为一个项目编写应用程序。在Android中验证edittext
我需要检查用户是否在edittext中输入了7个数字后跟一个字母。 例如:0000000x
我应该怎么做? TIA! :)
我是新手android &我在为一个项目编写应用程序。在Android中验证edittext
我需要检查用户是否在edittext中输入了7个数字后跟一个字母。 例如:0000000x
我应该怎么做? TIA! :)
可能最好的方法是使用传递到EditText的addTextChangedListener()方法的TextWatcher。下面是一个例子使用:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable e) {
String textFromEditView = e.toString();
validateText(textFromEditView);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//nothing needed here...
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//nothing needed here...
}
});
我将离开validateText(String)
方法作为练习读者的实施,但我想它应该是很容易。我要么使用:
OnKeyListener侦听视图中的每个关键笔划。你可以使用它来检查用户是否输入了他所设想的内容。
例如:如果没有输入炭为7,则
检查,如果它遵循REQD表达格式。
有一个名为格局的Android在类你可以给正则表达式匹配您的要求试试这个follwoing代码,我认为它可能工作
模式p = Pattern.compile(“{7}”); Matcher m = p.matcher(String.valueOf(edittext));
这将是真正的只有7个字符是否有在文本框中,然后你可以使用一些贪利像“Character.isDigit(焦炭)和Character.isLetter(炭)”
您可以尝试使用正则表达式。但是由于我还没有研究它,所以我无法在这里给你提供样品。试着谷歌它。您可以轻松找到解决方案。 – 2011-05-16 04:25:58
@AndroSelva - “你可以尝试使用正则表达式” - 但是你会遇到两个问题;) – katzenhut 2015-05-19 10:19:44