Android(java)学习笔记147:textView 添加超链接(两种实现方式,,区别于WebView)

1.方式1:

        LinearLayout layout = new LinearLayout(this);
        LinearLayout.LayoutParams  params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT);
        TextView textView = new TextView(this);
        String html = "有问题:\n";
        html +="<a href='http://www.baidu.com'>百度一下</a>";//注意这里必须加上协议号,即http://
        //public static Spanned fromHtml(String source):这里返回的是Spanned,由于这个Spanned是继承自CharSequence
        //所以,可以不经过类型转化直接用CharSequence接收Spanned类型
        CharSequence charSequence = Html.fromHtml(html);
        textView.setText(charSequence); 
        //设置该句使文本TextView的超连接起作用,LinkMovementMethod.getInstance():返回一个MovementMethod实例
        textView.setMovementMethod(LinkMovementMethod.getInstance());
        layout.addView(textView); 
        this.setContentView(layout,params); 

2.方式2:

        LinearLayout layout = new LinearLayout(this);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT);
        TextView textView = new TextView(this);
        String html = "有问题:\n";
        html+="www.baidu.com";//这里即使不加协议HTTP;也能自动被系统识别出来
        textView.setText(html);
        //这里即使不加协议好HTTP;也能自动被系统识别出来
        textView.setAutoLinkMask(Linkify.ALL);
        //设置该句使文本TextView的超连接起作用
        textView.setMovementMethod(LinkMovementMethod.getInstance());
        layout.addView(textView);
        this.setContentView(layout,params);

 TextView.setAutoLinkMask(Linkify.ALL);

Linkify.ALL:all available patterns(匹配所有)

Linkify.MAP_ADDRESSES :street addresses should be matched in methods(匹配街道地址编号)

Linkify.PHONE_NUMBERS :phone numbers(匹配电话号码)

Linkify.EMAIL_ADDRESSES : email addresses(匹配Email地址)

Linkify.WEB_URLS : web URLs  (匹配Web网址)

 

更多相关文章
  • 使用 Windows 集成安全性访问 SQL Server 如果您的应用程序运行在基于 Windows 的 Intranet 上,则也许可以将 Windows 集成身份验证用于数据库访问.集成安全性使用在操作系统线程上建立的当前 Windows 标识来访问 SQL Server 数据库.然后,您可以 ...
  •   前言: 正则表达式(英语:Regular Expression)原属于计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里边,正则表达式通常被用来检索.替换那些符合某个模式的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,P ...
  •     c++中程序员使用模板能够写出与类型无关的代码,提高源代码重用,使用合适,大大提高了开发效率.此前,可以使用宏实现模板的功能,但是模板更加安全.清晰.在编写模板相关的代码是我们用到两个关键词:template和class(或者typename),class和typename基本没有区别. 1 ...
  • 创建数据表 Create table [if not exists] table_name(column_name data_type,…….) UNSIGNED 无符号SIGNED 有符号     查看创建的表 show tables;   查看mysql中所有的表 show tables fro ...
  • 菜鸟玩云计算之廿一: saltstack之pillar参考:点击打开链接查看pillar数据:# salt '*' pillar.itemspillar的默认根目录在:/srv/pillar,可以通过下面的参数更改配置文件/etc/salt/master:pillar_roots: your_dir ...
  • 以下内容只是一个小白菜鸟的理解和总结,目的仅在于梳理思路. 13年的时候,我就说要学JAVA,有个C++高手同事赞许地说:"嗯,不错,SSH..."我不禁肃然起敬.SSH!多么高大上的词,JAVA就是这样,这框架,那概念的,理论一套一套的,特别多,让人听了就兴奋到不行. 那么,S ...
一周排行
  • -startupplugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar-showsplashorg.eclipse.platform--laun ...
  • BitDefender的研究人员们发现了一种新型的恶意软件,它专门用来收集银行网站的密码,值得注意的是它的目标只有Firefox用户. 这一恶意软件被称为"Trojan.PWS.ChromeInject.A ...
  • 众所周知,修改IE默认主页地址是恶意网页常用的一招.IE被修改后,会自动连接到恶意网页的地址.大家常用的方法是修改注册表,其实,只要简单给IE加个参数,就再也不怕IE主页地址被修改了.下面是具体的步骤. 首先,打开& ...
  • Fedora 17 U盘安装成功的过程   硬盘装了一天的CentOS,失败了,各方请教也没找到原因.今天退而求其次,用U盘安装Fedora 17,居然一次成功,傻瓜似的安装过程如下:  www.2cto.com   ...
  • 课程简介 第4天,自定义SharePoint 网站导航 视频 SharePoint 2013 交流群 41032413
  • 奋战了几个月,终于有惊无险通过了! 算是对自己过去几年使用linux的归纳总结吧,过程不轻松,真不轻松... 本文出自 "精诚所至 金石为开" 博客,谢绝转载!
  • 一:框架挂马<iframe src=地址 width=0 height=0></iframe>二:js文件挂马首先将以下代码document.write("<iframe wi ...
  • 配置Struts 2文件上传的Action与配置普通Action并没有太大的不同,一样是指定该Action的name,以及该Action的实现类.当然,还应该为该Action配置<result .../> ...
  • http://blog.csdn.net/pipisorry/article/details/39231949 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知 ...
  • 易网科技讯 8月10日消息,卓越亚马逊将参加于8月21日举办的2009秋季中国(中山)小家电交易会,并将签下巨额采购订单. 据中山小家电交易会组办方之一的慧聪家电网总经理喻治国介绍,从6月开始,慧聪家电网工作人员就开 ...