码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-30 15:27:39      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现

在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不仅 识别超链接,包括电话号码之类的。

 

摘自:http://www.jb51.net/article/38160.htm

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

标签:

原文地址:http://www.cnblogs.com/antyi/p/4262194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!