转自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
);

2

其中mask的参数表在android文档中有说明,具体如下:
Constant | Value | Description |
---|---|---|
none | 0x00 | Match no patterns (default) |
web | 0x01 | Match Web URLs |
email | 0x02 | Match email addresses |
phone | 0x04 | Match phone numbers |
map | 0x08 | Match map addresses |
all | 0x0f | Match all patterns (equivalent to web|email|phone|map) |