2 j550341130 j550341130 于 2017.09.04 15:41 提问

android 修改TextView内超链接的点击监听

尝试了网上的方法, 但是有个问题:

    Spannable sp = new Spannable.Factory().newSpannable(text);
        URLSpan urls[] = sp.getSpans(0, text.length(), URLSpan.class);

urls 内没内容, 布局内也写了

 android:autoLink="all"

请问是怎么回事?

4个回答

u011315960
u011315960   2017.09.05 10:55
已采纳

如果你想要自己定义span的点击监听的话 我建议你用Clickspan来做,这样就可以得到点击的监听事件了。

j550341130
j550341130 多谢跟进, 自己找到原因了, 原来是因为TextView的文字被其他的方法修改过, 导致URLSpan取不出来
11 个月之前 回复
u011315960
u011315960 如果你需要点击的时候知道文字的内容,你可以在new ClickSpan的时候直接保存这段文字做为内部变量就可以了,这样简单方便。
11 个月之前 回复
j550341130
j550341130 现在就是这么做的, 我现在的问题是获取不到识别为web的文字, URLSpan urls[] = sp.getSpans(0, text.length(), URLSpan.class)获取的数组为空
11 个月之前 回复
baidu_26611019
baidu_26611019   2017.09.04 16:27

http://blog.csdn.net/u012702547/article/details/49935153 可参考这四种方法,我没看到你这个写法

j550341130
j550341130 你可能理解错了, 现在已经识别出超链接了, 但是我想修改这个超链接的点击监听
11 个月之前 回复
dongfeng9ge
dongfeng9ge   Ds   Rxr 2017.09.08 21:39

你想修改超链接的点击监听?改成什么样?

j550341130
j550341130 跳转到自己的界面.
11 个月之前 回复
j550341130
j550341130   2017.09.11 10:05

原来是因为Text已经被其他的方法修改过了, 所以获取不到. 坑爹啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
TextView处理Html文本超链接事件
TextView是Android中用于显示文本的一个普通控件,textview.setText(“文本”); 同时它也支持Html文本的显示,textview.setText()textview.setText(Html.fromHtml(""Html文本)); 但是针对Html文本仅作显示并不能满足所有需求,当文本中存在超链接是/** * 处理html文本超链接点击事件
为 TextView 的部分文字设置超链接样式并监听点击事件
TextView的部分文字设置超链接样式并监听点击事件 修改TextView中部分文字的颜色 flags对一段文字设置一些标识TextView的部分文字设置超链接样式并监听点击事件 package com.yonga.demo; import android.app.Activity; import android.os.Bundle; import android.text.Spanna
点击textView自动打电话属性
android:autoLink="phone"
android 为TextView的部分文字设置超链接样式并监听点击事件
android 为TextView的部分文字设置超链接样式并监听点击事件
android 自定义TextView中Html超链接点击事件详解
public class TextHtmlActivity extends Activity { private TextView text; private Activity mActivty; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate
android TextView中超链接的事件捕捉(textview上LINK的点击事件)
package com.cm;      import java.util.ArrayList;      import android.R.color;   import android.app.Activity;   import android.content.Context;   import android.graphics.Color;   import android
给TextView添加超链接的四种方式
因为在上上篇博客中介绍了SpannableString的使用(SpannableString使用详解),由此想到给TextView添加超链接究竟有多少种方式?经过个人总结,现在一共发现四种,如果还有其他方式欢迎大家补充,下面我就介绍一下我总结出来的四种方式。1.直接在xml文件中配置autoLink属性autoLink属性一共有六个值,分别是none(正常),web(将文本识别为一个网址),pho
Android TextView 设置超链接、关键字高亮等效果
之前做TextView关键字高亮效果,使用的是Html.fromHtml(String source)方法,然后通过TextView的setText(CharSequence text)方法来显示 后来测试此方法在部分手机上显示有问题,如Nexus4,华为P6等等。于是乎只能继续寻找别的解决办法了,在这里Mark一下。 这里用到了SpannableString类
TextView使部分文字具有超链接(或点击)功能
主要对TextView中的部分字符串进行处理,使之具有点击效果,而且可以对该部分字符串颜色大小进行设置等。
android TextView超链接设置颜色
因为在做一个项目要对文本解析,找出文本中的url、电话、email、地址、等。用系统默认的autolink autolinktextcolor只能统一设置超链接颜色,不能动态的实现各个Span绘制颜色的不同,因为文本是不固定的,所以Span位置和数量就不能确定,也就不可能预先配置颜色。下面是解决方法,动态设置不同span颜色: //创建一个 SpannableString对象 注意:不要在xml