Android 单击时发送电子邮件的文本视图

Android 单击时发送电子邮件的文本视图,android,Android,我有一个android的文本视图:autoLink=“email” 如果我把我的电子邮件地址放在那里,就会出现一个我可以点击的链接 如何使不同的文本显示(例如“发送反馈”)而不是电子邮件地址,但在单击时仍然表现相同 谢谢在onClickListener()中创建一个按钮并从R.string.email中提取电子邮件可能会更容易 要实现我想要的目标,需要一种不同的方法: TextView feedback = (TextView) findViewById(R.id.TextViewSendFee

我有一个android的文本视图:autoLink=“email”

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

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


谢谢

在onClickListener()中创建一个按钮并从R.string.email中提取电子邮件可能会更容易

要实现我想要的目标,需要一种不同的方法:

TextView feedback = (TextView) findViewById(R.id.TextViewSendFeedback);
feedback.setText(Html.fromHtml("<a href=\"mailto:ask@me.it\">Send Feedback</a>"));
feedback.setMovementMethod(LinkMovementMethod.getInstance());
TextView反馈=(TextView)findViewById(R.id.TextViewSendFeedback);
feedback.setText(Html.fromHtml(“”));
setMovementMethod(LinkMovementMethod.getInstance());
这基本上是将HTML放在文本视图中,所以我会得到一个链接,上面写着“发送反馈”,但单击它会打开默认的电子邮件应用程序


警告:在仿真器中尝试此操作最初对我不起作用,说它不受支持。这只是因为我没有设置电子邮件帐户。在仿真器中设置一个使链接按我的要求工作。

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

...
<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>
} 
。。。
...    
...
Contato:(45)9145-0000
} 

此处阅读更多信息:

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

android:autoLink="web|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());

setText(Html.fromHtml(getString(R.string.your_string));
setMovementMethod(LinkMovementMethod.getInstance());

这是一个我从未考虑过的非常好的建议!即使我已经找到了解决方案,我也可能会使用它。谢谢需要注意的一点是,如果您将android:autoLink设置为“all”,这将不起作用。如果你将android:autoLink设置为除“无”之外的任何选项,它可能都不起作用,但我还没有测试过。如果你将字符串存储在字符串资源中,你需要将左尖括号替换为如果没有任何邮件应用程序,它将使你的应用程序崩溃:我相信我在自己答案底部的警告已经说明了这一点,但谢谢。如果你只需要网站和电子邮件地址链接的基本支持,这实际上是最好的解决方案。对于那些对答案感到困惑的人,只需检查提供的
autoLink
属性链接。要更改链接的颜色,需要使用
textColorLink
。它是否处理异常?