Android 如何验证编辑文本,以便只能输入有效的电子邮件?
我正在使用eclipse制作一个android应用程序。我有一个文本框作为电子邮件进行验证。此editText显然是XML格式,其id为“editText1”。 我找到了如何验证电子邮件的答案,但我的问题是:我不知道如何将其应用于java代码中的“editText1”Android 如何验证编辑文本,以便只能输入有效的电子邮件?,android,Android,我正在使用eclipse制作一个android应用程序。我有一个文本框作为电子邮件进行验证。此editText显然是XML格式,其id为“editText1”。 我找到了如何验证电子邮件的答案,但我的问题是:我不知道如何将其应用于java代码中的“editText1” Below i present the code for email validation that i found: public final Pattern EMAIL_ADDRESS_PATTERN = Patter
Below i present the code for email validation that i found:
public final Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile(
"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
"\\@" +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
"(" +
"\\." +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
")+"
);
private boolean checkEmail(String email) {
return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}
当我将此代码粘贴到java文件中时,我会收到以下消息:
“MainActivity类型的checkEmail(string)方法从未在本地使用”您必须获得对EditText的引用 像这样的方法应该会奏效:
EditText et = (EditText) findViewById(R.id.editText1);
然后,您可以从编辑文本中获取文本,如下所示:
String str = et.getText().toString();
然后可以调用validate方法
if(checkEmail(str)){
//email is valid
}
然而,根据您提出的问题以及您提出问题的方式,我可以告诉您,在您深入android之前,回头学习纯java可能会让您受益匪浅。一旦你了解了java语法,你就应该从Android开发者官方网站上的示例和教程开始,它涵盖了很多你似乎很难理解的基础知识
最后一点,“editText1”不是EditText的好名字,它不能解释关于对象的任何内容。如果您努力为对象使用更具描述性的名称,您的代码将更易于使用,也许“emailText”可能是一个更好的选择?这个警告是不言自明的。这意味着您从未调用过该方法。很抱歉,我对java是新手。在这种情况下,我该怎么称呼它呢?复制粘贴代码,然后调试它并不是一种学习的好方法(尽管阅读代码是很有用的)。在学习Java之前,你可能不想跳进Android。谢谢。我想我将不得不花更多的时间在java上。我已将对象id更改为“电子邮件”。非常感谢你的帮助。