当前位置: 移动技术网 > 移动技术>移动开发>Android > textView 添加超链接(两种实现方式)

textView 添加超链接(两种实现方式)

2019年07月24日  | 移动技术网移动技术  | 我要评论
在textview添加超链接,有两种方式,第一种通过html格式化你的网址,一种是设置autolink,让系统自动识别超链接。

代码如下:

第一种
复制代码 代码如下:

public class mainactivity extends activity {
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
linearlayout layout = new linearlayout(this);
layoutparams params = new layoutparams(layoutparams.match_parent,
layoutparams.match_parent);
textview textview = new textview(this);
string html = "有问题:\n";
html+="<a href='http://www.baidu.com'>百度一下</a>";//注意这里必须加上协议号,即http://。

//否则,系统会以为该链接是activity,而实际这个activity不存在,程序就崩溃。
charsequence charsequence = html.fromhtml(html);

textview.settext(charsequence);

textview.setmovementmethod(linkmovementmethod.getinstance());
layout.addview(textview);
this.setcontentview(layout,params);
}

第二种
复制代码 代码如下:

public class mainactivity extends activity {
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
linearlayout layout = new linearlayout(this);
layoutparams params = new layoutparams(layoutparams.match_parent,
layoutparams.match_parent);
textview textview = new textview(this);
string html = "有问题:\n";
html+="www.baidu.com";//这里即使不加协议好http;也能自动被系统识别出来。
textview.settext(html);
textview.setautolinkmask(linkify.all);
textview.setmovementmethod(linkmovementmethod.getinstance());
layout.addview(textview);
this.setcontentview(layout,params);
}

总结一下就是,以html显示超链接,必须写全url。以setautolinkmask(linkify.all)可以不用不用写全,就能自动识别出来。

这两种方法,都得设置一下setmovementmethod,才会跳转。
另外setautolinkmask不仅 识别超链接,包括电话号码之类的。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网