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

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

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

效果图如下:

db046ef5f4834d1716fba0680f96108f.png

具体代码如下:

tv = (TextView) findViewById(R.id.tv);

String html = "「非著名程序员」可能是东半球最好的技术分享公众号。每天,每周定时推送一些有关移动开发的原创文章和教程。 不信你可以\n";

html += "百度一下 哈哈,有意思吧!记住微信号是:smart_android 哦";

CharSequence charSequence = Html.fromHtml(html);

SpannableStringBuilder builder = new SpannableStringBuilder(

charSequence);

URLSpan[] urlSpans = builder.getSpans(0, charSequence.length(),

URLSpan.class);

for (URLSpan span : urlSpans) {

int start = builder.getSpanStart(span);

int end = builder.getSpanEnd(span);

int flag = builder.getSpanFlags(span);

final String link = span.getURL();

builder.setSpan(new ClickableSpan() {

@Override

public void onClick(View widget) {

// 捕获标签点击事件,及对应超链接link

}

}, start, end, flag);

builder.removeSpan(span);

}

tv.setLinksClickable(true);

tv.setMovementMethod(LinkMovementMethod.getInstance());

tv.setText(charSequence);

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐