我有一个带有android的TextView:autoLink =“email”。
如果我将电子邮件地址放在那里,则会显示一个链接,我可以点击。
如何显示不同的文字(例如“发送反馈”)而不是电子邮件地址,但点击后的行为仍然相同?
由于
答案 0 :(得分:57)
要达到我想要的目标,需要采用不同的方法:
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中,所以我得到一个链接“发送反馈”但点击它会打开默认的电子邮件应用程序。
警告字 在模拟器中尝试此操作最初并不适合我,说它不受支持。这只是因为我没有设置电子邮件帐户。在模拟器中设置一个使链接按我的意愿工作。
答案 1 :(得分:37)
如果在TextView
中设置以下参数,则可以同时使用链接和电子邮件android:autoLink="web|email"
链接将在浏览器中打开,邮件将由默认邮件客户端
发送答案 2 :(得分: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>
}
在此处阅读更多内容:http://developer.android.com/reference/android/widget/TextView.html#attr_android:autoLink
答案 3 :(得分:1)
创建一个按钮可能更容易,而onClickListener()内部可能会从R.string.email中提取电子邮件。
答案 4 :(得分:0)
来自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());