SpannableString spannedString = new SpannableString(Html.fromHtml(parse.toString(),
Html.FROM_HTML_MODE_LEGACY));
URLSpan[] urls = spannedString.getSpans(0, spannedString.length(), URLSpan.class);
//获取所有的URL
for (final URLSpan urlSpan : urls) {
int start = spannedString.getSpanStart(urlSpan);
int end = spannedString.getSpanEnd(urlSpan);
int flags = spannedString.getSpanFlags(urlSpan);
//自定义ClickableSpan,实现超链接的自定义跳转
CustomClickSpan span = new CustomClickSpan(mContext,urlSpan.getURL());
spannedString.removeSpan(urlSpan);//需要移除,否则会跳到外部浏览器
spannedString.setSpan(span, start, end, flags);
}
// 启用链接点击事件
tv.setMovementMethod(new LinkMovementMethod());
tv.setText(spannedString);
TextView超链接跳转
最新推荐文章于 2024-07-15 02:47:01 发布
文章介绍了如何在Android应用中使用SpannableString处理HTML文本,包括获取URL、创建自定义ClickableSpan以实现超链接的自定义跳转,并设置TextView的LinkMovementMethod以启用链接点击事件。
摘要由CSDN通过智能技术生成