Blogger Scott

TextView中打开超文本链接

    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)方法:

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

    其中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)

posted on 2011-05-11 01:13 江天部落格 阅读(3703) 评论(0)  编辑  收藏 所属分类: Android


只有注册用户登录后才能发表评论。


网站导航: