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

更多相关文章

  1. android超链接
  2. android 控件onClick事件的4种实现方式
  3. 关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记
  4. android中将静态库链接进动态库成功的例子
  5. Android全屏模式,监听软键盘弹出事件。
  6. Android三种方法实现事件监听
  7. Android中RecyclerView简单的点击事件

随机推荐

  1. 【面试】Android Retrofit+Rxjava 如何实
  2. Android TextView 字体加粗
  3. 添加ddHeaderView注意问题
  4. 修改android studio 默认的so文件检索路
  5. Android(安卓)蓝牙开发(九)A2DP基本功能
  6. android build.prop详解
  7. android避免service被杀 博客分类: androi
  8. eclipse 启动 Android SDK Content Loade
  9. Android之两种toast的实现
  10. Android adb 使用总结 (调试专用)