2011-04-26 96 views
0

我有一个textview,其文本设置为一个大字符串。如何使用span在android中调用?

这个字符串有几个部分,如电话号码,邮件,浏览地址。

我发现如何使用浏览地址在一个范围内打开浏览器中的链接? 这里是代码

TextView tv = (TextView) findViewById(R.id.infotest); 
    SpannableString ss = new SpannableString(getResources().getString(R.string.clientaddress)); 

    ss.setSpan(new URLSpan("http://"+getResources().getString(R.string.clientaddress)), 0, 23, 
      Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

我如何做同样的电话文本。 我的意思是当用户按下textview字符串的特定部分时,我如何跨越电话文本来调用数字。

回答

0

你必须从xml文件中设置它。

例如:

机器人:ID = “@ + ID/MOBILE_NUMBER”

机器人:layout_width = “WRAP_CONTENT”

机器人:layout_height = “FILL_PARENT”

机器人: autoLink =“phone”

autoLink字段的可用值为:web,电子邮件,电话,地图,全部

+0

你可以解释furthur .. – user590849 2011-04-26 12:57:33

+0

如果你有一个电话号码的textview ..你想当用户点击textview调用号码权吗?所以,你必须添加此属性到你的textview在xml文件:android:autoLink =“phone”.. – Nikitas 2011-04-26 13:04:34

+0

曾经我把它放在代码中,我不需要在java中编写任何代码?这也不能解决我的问题,我只想要一部分字符串来打电话 – user590849 2011-04-26 13:05:29

0

您能使用Linkify吗?

Linkify.addLinks(tv,Linkify.PHONE_NUMBERS); 

ETA或尝试使用tel://而不是http?

相关问题