在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现
代码如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
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); } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
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不仅 识别超链接,包括电话号码之类的。
两种textView添加超链接的方法 转载https://www.codesocang.com/appboke/33970.html
热门源码