Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何验证编辑文本,以便只能输入有效的电子邮件?_Android - Fatal编程技术网

Android 如何验证编辑文本,以便只能输入有效的电子邮件?

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

我正在使用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 = 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更改为“电子邮件”。非常感谢你的帮助。