2012-09-26 49 views
1

这是我的Strings.xml文件中的html元素。
单击链接时发送邮件

<string name="five"> 
      <![CDATA[ 
     <HTML> 
     <Body> 
     <p>.................Some Text....................... 

     <br><br>Feel free to contact us at<br> <font color="#add8e6">[email protected]</font></p> 
     </body> 
     </HTML> 
      ]]> 
     </string> 

现在,当用户点击[email protected],我想雅虎邮箱或Gmail或曾经邮件应用程序存在于用户的手机开辟和[email protected]填满TO :领域。有这样的可能吗?

回答

1

当你设置,您可以使用文本(假设你已经检索到的字符串转换成一个变量,名为文本,并referenciing一个名为的TextView的TextView)

textView.setText(Html.fromHtml(text)); 

当设置你的布局也可以在包含五个字符串的Views中声明android:autolink="email"

自动链接说明:“控制是否自动找到链接,如网址和电子邮件地址,并将其转换为可点击链接。”即视图中的文本被解析,并且文本中的任何(在这种情况下)电子邮件地址都被转换为可点击的链接。


在文本android:autolink="email"你的其他HTML标签的情况下将不会被处理,并会显示,因为它们是上面(而不是已处理的HTML文档)。

Html.fromHtml()将处理HTML标签并处理正确的格式标签。

+0

我只想让电子邮件ID可点击的实际显示。不是整个textView。 – Ashwin

+0

啊哈..在每种情况下,这只会使链接可点击。在Html.fromHtml的情况下,你的字符串需要包含一个有效的a和href mailto。我认为android:autolink会在文本中选取任何电子邮件地址。 –

+0

是的android:autoLink =“电子邮件”做了伎俩。 – Ashwin

0

看看Androids Linkify类。

举个例子,如果你这样做:

Linkify.addLinks(myTextView, Linkify.EMAIL_ADDRESSES); 

在TextView的任何电子邮件地址时,可以点击和点击时,适当的对话框将显示给用户。

Ofcourse,这是假设你的字符串内TextView

+0

整个字符串在文本视图中..我只想链接电子邮件地址。 – Ashwin

+0

Linkify.EMAIL_ADDRESSES参数将确保只有有效的电子邮件地址是可点击的,而不是textview中的任何其他文本。例如,如果文本是:“嘿!你好吗?这是我的新电子邮件:[email protected]”,那么它只会创建一个“[email protected]”的链接,没有别的。此外,它还将自动确保可以处理电子邮件地址的应用程序在用户点击文本时向用户显示的对话框中可见 – zeiger