TextView在单击时发送电子邮件

nei*_*man 35 android

我有一个带有android的TextView:autoLink ="email".

如果我将电子邮件地址放在那里,则会出现一个我可以点击的链接.

如何显示不同的文本(例如"发送反馈")而不是电子邮件地址,但单击时仍然表现相同?

谢谢

nei*_*man 61

要达到我想要的目标,需要采用不同的方法:

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

这基本上将HTML放在TextView中,因此我得到一个链接,说"发送反馈",但点击它会打开默认的电子邮件应用程序.

警告: 在模拟器中尝试这个并不适合我,说它不受支持.这只是因为我没有设置电子邮件帐户.在模拟器中设置为up使链接按我的意愿工作.

  • 如果将字符串存储在字符串资源中,则需要将左角括号替换为&lt; (2认同)

Hak*_*ied 38

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

android:autoLink="web|email"
Run Code Online (Sandbox Code Playgroud)

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


小智 34

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

...
<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>
} 
Run Code Online (Sandbox Code Playgroud)

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

  • 如果您只需要对网站和电子邮件地址链接的基本支持,这实际上是最佳解决方案.对于那些与答案混淆的人,只需检查提供的`autoLink`属性链接. (4认同)
  • autoLink =“ email”为我工作。 (2认同)