TextView单击时发送电子邮件

我有一个TextView与android:autoLink =“电子邮件”。

如果我把我的电子邮件地址在那里,然后出现一个链接,我可以点击。

如何显示不同的文本(例如“发送反馈”)而不是电子邮件地址,但点击后仍然performance相同?

谢谢

Solutions Collecting From Web of "TextView单击时发送电子邮件"

为了达到我想要的,需要一个不同的方法:

TextView feedback = (TextView) findViewById(R.id.TextViewSendFeedback); feedback.setText(Html.fromHtml("<a href=\"mailto:ask@me.it\">Send Feedback</a>")); feedback.setMovementMethod(LinkMovementMethod.getInstance()); 

这基本上把HTML放在TextView中,所以我得到一个链接说'发送反馈',但点击它打开默认的电子邮件应用程序。

警告词:在模拟器中试用这个function最初并不适用于我,说它是不受支持的。 这只是因为我没有电子邮件帐户设置。 在模拟器中设置好像我想要的那样工作。

布局中另一个简单的方法:

 ... <TextView android:id="@+id/tvTelefone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/sobre_telefone" android:textColor="#000000" android:autoLink="phone" /> ... ... <string name="sobre_telefone">Contato: (45) 9145-0000</string> } 

在这里阅读更多: http : //developer.android.com/reference/android/widget/TextView.html#attr_android : autoLink

如果您在TextView中设置以下参数,则可以使用链接和电子邮件

 android:autoLink="web|email" 

链接将在浏览器中打开,邮件将由默认邮件客户端发送

创build一个button可能会更容易,在onClickListener()里面也可能会从R.string.email中获取一个邮件。

来自strings.xml

 <string name="your_string"><![CDATA[ contact us at <a href=\"mailto:recipient@mail.com\">recipient@mail.com</a> for more help.]]></string> tvObject.setText(Html.fromHtml(getString(R.string.your_string))); tvObject.setMovementMethod(LinkMovementMethod.getInstance());