TextView中打开超文本链接

转自http://www.blogjava.net/easywu/archive/2011/05/11/textview.html

 TextView为一个显示纯文本的视图,但如果纯文本中有http超文本链接或者Email地址,如何让android自动识别并调用相关的activity(如浏览器、电子邮件)来展示呢?
    查了网上很多资料,实现方法都相对复杂,基本是使用android.text.Html,android.text.style.URLSpan等几个类来实现识别TextView中的URL,再通过webview的loadUrl(myUrl)方法来打开。
    这里有个麻烦的地方,即TextView中的链接地址必须是符合HTML规范的,即必须要有<a href="http://.....">.....</a>标记才能被识别,如果没有还得分析文本再加上这些标记,相当麻烦。其实要让TextView自动识别其中的超文本链接或是Email地址或是电话号码,Android有个很简单的方法,即TextView的setAutoLinkMask(int mask)方法:

1 TextView tv  =   new  TextView( this );
2 tv.setAutoLinkMask( 0x01 );

    其中mask的参数表在android文档中有说明,具体如下:
ConstantValueDescription
none0x00Match no patterns (default)
web0x01Match Web URLs
email0x02Match email addresses
phone0x04Match phone numbers
map0x08Match map addresses
all0x0fMatch all patterns (equivalent to web|email|phone|map)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值