首页 > 系统 > Android > 正文

Android实现捕获TextView超链接的方法

2019-10-24 20:35:28
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Android实现捕获TextView超链接的方法,涉及Android查找TextView中超链接的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android实现捕获TextView超链接的方法。分享给大家供大家参考,具体如下:

这里分享一篇捕获TextView超链接的文章,希望对大家有所帮助,我终于在歪路上回归正途了。这个捕获TextView超链接应该算是比较常用吧,如果你会了,就不用看了,如果还不会,可以看一眼,非常简单。

捕获TextView超链接这个意思就是在一段文字当中如果有超链接的网址在当中,在TextView中会特别显示,和其它文字颜色不一样,还可以点击执行相应的操作。

效果图如下:

Android实现捕获TextView超链接的方法

具体代码如下:

 

 
  1. tv = (TextView) findViewById(R.id.tv);  
  2. String html = "「非著名程序员」可能是东半球最好的技术分享公众号。每天,每周定时推送一些有关移动开发的原创文章和教程。 不信你可以/n"
  3. html += "<a href='http://www.baidu.com'>百度一下</a> 哈哈,有意思吧!记住微信号是:smart_android 哦"
  4. CharSequence charSequence = Html.fromHtml(html);  
  5. SpannableStringBuilder builder = new SpannableStringBuilder(  
  6. charSequence);  
  7. URLSpan[] urlSpans = builder.getSpans(0, charSequence.length(),  
  8. URLSpan.class);  
  9. for (URLSpan span : urlSpans) {  
  10. int start = builder.getSpanStart(span);  
  11. int end = builder.getSpanEnd(span);  
  12. int flag = builder.getSpanFlags(span);  
  13. final String link = span.getURL();  
  14. builder.setSpan(new ClickableSpan() {  
  15. @Override 
  16. public void onClick(View widget) {  
  17. // 捕获<a>标签点击事件,及对应超链接link  
  18. }  
  19. }, start, end, flag);  
  20. builder.removeSpan(span);  
  21. }  
  22. tv.setLinksClickable(true);  
  23. tv.setMovementMethod(LinkMovementMethod.getInstance());  
  24. tv.setText(charSequence); 

其实看完代码就知道了,非常简单。大家可以试一试哦

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表