1.在xml中为TextVIEw添加autolink属性
<TextVIEw ... androID:autolink = "web" ... />
2.
private voID setlinkClickable(final SpannableStringBuilder clickableHTMLBuilder,final URLSpan urlSpan) { int start = clickableHTMLBuilder.getSpanStart(urlSpan); int end = clickableHTMLBuilder.getSpanEnd(urlSpan); int flags = clickableHTMLBuilder.getSpanFlags(urlSpan); ClickableSpan clickableSpan = new ClickableSpan() { @OverrIDe public voID onClick(VIEw Widget) { String originUrl = urlSpan.getURL();//获取URL地址 //do something ... } }; clickableHTMLBuilder.setSpan(clickableSpan,start,end,flags);}private CharSequence getClickableHTML(Spanned spannedHTML) { SpannableStringBuilder clickableHTMLBuilder = new SpannableStringBuilder(spannedHTML); URLSpan[] urls = clickableHTMLBuilder.getSpans(0,spannedHTML.length(),URLSpan.class); for (final URLSpan span : urls){ setlinkClickable(clickableHTMLBuilder,span); } return clickableHTMLBuilder;}
3.
String urlText;Spanned spanned = HTML.fromHTML(urlText);textVIEw.setText(getClickableHTML(spanned));textVIEw.setMovementMethod(linkMovementMethod.getInstance());总结
以上是内存溢出为你收集整理的Android 拦截TextView中超链接点击事件全部内容,希望文章能够帮你解决Android 拦截TextView中超链接点击事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)