我是android和amp;的新手我正在尝试为项目编写应用程序。
我需要检查用户是否在edittext中输入了7个数字后跟一个字母。 示例:0000000x
我该怎么做? TIA! :)
答案 0 :(得分:6)
可能最好的方法是使用传递给EditText的TextWatcher方法的addTextChangedListener()。以下是一个使用示例:
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)
方法的实现作为读者的练习,但我想它应该很容易。我会使用:
答案 1 :(得分:0)
OnKeyListener侦听视图中的每个键击。您可以使用它来检查用户是否输入了他想要的内容。
例如:如果输入的字符数为7则为
检查它是否遵循reqd表达式格式。
答案 2 :(得分:0)
在Android中有一个名为Pattern的类,你可以给正则表达式匹配你的需求尝试这个下面的代码,我认为它可以工作
模式p = Pattern.compile(“{7}”); Matcher m = p.matcher(String.valueOf(edittext));
只有当文本框中有7个字符然后你可以使用一些像“Character.isDigit(char)和Character.isLetter(char)”这样的menthod时才会出现这种情况。