Android|Android 拦截TextView中超链接点击事件

Android 拦截TextView中超链接的点击事件 【Android|Android 拦截TextView中超链接点击事件】1.在xml中为TextView添加autoLink属性


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());

转载于:https://www.cnblogs.com/Ricardoldc/p/11233899.html

    推荐阅读