Android 拦截TextView中超链接点击事件
16lz
2021-01-23
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
更多相关文章
- android超链接
- android 控件onClick事件的4种实现方式
- 关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记
- android中将静态库链接进动态库成功的例子
- Android全屏模式,监听软键盘弹出事件。
- Android三种方法实现事件监听
- Android中RecyclerView简单的点击事件