2014-04-16 48 views
0

我正在通过EditText收取电子邮件地址。我收到一个错误,说这个地址包含空格,没有问题。我实现了address.removeAll(“\\ s”,“”);现在正在错误非法字符删除空格后删除电子邮件地址

  • 9月4日至一十六日:37:43.009:W/System.err的(1632):javax.mail.internet.AddressException:非法字符在本地名字符串``606#7f080011app :id/enterEmail}''

这里是我的代码捕获电子邮件和转换为字符串。

 EditText e = (EditText) findViewById(R.id.enterEmail); 

     String to = e.toString().replaceAll("\\s", ""); 

在这里我用的地址,并得到了错误的行:

msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(to)); 

我已经做了一些研究,试图找到,如果它是一个解析问题,或者会是什么引起,但一无所获。有人知道我为什么会得到这个错误?提前致谢。

+0

什么是电子的价值? – cybersam

+0

在这种情况下,它只是一个简单的雅虎电子邮件地址:[email protected] – STLCards77

回答

1

这是因为您正在将您的EditText转换为String而不是获取其文本并对其执行replaceAll()

只需更换这一点:

String to = e.toString().replaceAll("\\s", ""); 

有了这个:

String to = e.getText().toString().replaceAll("\\s", ""); 
+1

然后只需使用:'e.getText()。toString()。replaceAll(...)' – nKn

+0

谢谢。给我几分钟,我会接受答案。 – STLCards77