Android之TextView超链接

Android之TextView超链接在 TextView 添加超链接 有两种方式 第一种通过 HTML 格式化你的网址 一种是设置 autolink 让系统自动识别超链接 以下代码示例 第一种方式 publicclassM Overrideprot BundlesavedI

在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+="百度一下";
//注意这里必须加上协议号,即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 {
        @Overrideprotected
        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不仅 识别超链接,包括电话号码之类等都能识别成功。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218392.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:22
下一篇 2026年3月18日 上午7:22


相关推荐

  • 《程序员情商》自我修养必备《论语》

    《程序员情商》自我修养必备《论语》导读 论语 是中国古代春秋时期一部语录体散文集 由孔子弟子及再传弟子编纂而成 主要记录孔子及其弟子的言行 较为集中地反映了孔子的思想 是儒家学派的经典著作之一 中国现传扬并学习的古代著作之一 主要由仲弓 子游 子夏首先商量起草 和少数留在鲁国的弟子及再传弟子完成 纪念老师 忧虑师道失传 并由子夏开创了章句的读法 故汉儒曰 章句发明始于子夏 南宋时 朱熹将它与 孟子 大学 中庸 合称为 四

    2026年3月19日
    2
  • SQL 循环语句 while 介绍 实例

    WHILE设置重复执行SQL语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用BREAK和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。语法WHILE

    2021年12月27日
    62
  • SOA是什么(转)

    SOA是什么(转)一 SOA 是什么 nbsp SOA 的全称是 Service OrientedArch 面向服务架构 是一种架构 不是一种具体的开发技术 nbsp 要真正理解什么是 SOA 需要从软件开发的技术发展史谈起 nbsp 真正的软件开发从开始到现在经历了四个阶段 也可以说成是四代 1 汇编语言开发 2 面向过程的软件 3 面向对象的组件开发 4 面向服务的架构开发 也是今天要谈论的 SOA 架构 nbsp SOA 与前面三代的软件开发技术对

    2026年3月16日
    1
  • 对比学习、自监督学习的理解「建议收藏」

    对比学习、自监督学习的理解「建议收藏」自监督学习定义:自监督学习主要是利用辅助任务从大规模的无监督数据中挖掘自身的监督信息来提高学习表征的质量,通过这种构造监督信息对网络进行训练,从而可以学习到对下游任务具有价值的表征。辅助任务(pretext):可以认为是一种为达到特定训练任务而设计的间接任务。pretext任务的好处是为了简化原任务的求解,在深度学习中就是避免人工标记样本,实现无监督的语义提取。Pretext任务可以进一步理解为:对目标任务有帮助的辅助任务。主要pretexttask包括:图像旋转、图像着色、图像修复。下游任务:图

    2025年11月16日
    7
  • 安卓天天练练(五)CompoundButton

    安卓天天练练(五)CompoundButtonToggleButton让我想起了从前jQuery还没有取消toggle方法时是怎么偷懒的。。注意:如果LinearLayout,与RelativeLayout不同,必须有orientation。用可视化顶部的横着隔开或者竖着隔开的方形按钮也可以选择,例如android:orientation=”vertical”三目运算符前面和js一样,那个state是不需要额外带括号的按…

    2022年5月25日
    38
  • 8个最高效的Python爬虫框架,你用过几个?

    8个最高效的Python爬虫框架,你用过几个?小编收集了一些较为高效的Python爬虫框架。分享给大家。1.ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。项目地址:https://scrapy.org/2.PySpiderpyspider是一个用python实…

    2022年6月14日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号