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取不出来
2 个月之前 回复
u011315960
u011315960 如果你需要点击的时候知道文字的内容,你可以在new ClickSpan的时候直接保存这段文字做为内部变量就可以了,这样简单方便。
2 个月之前 回复
j550341130
j550341130 现在就是这么做的, 我现在的问题是获取不到识别为web的文字, URLSpan urls[] = sp.getSpans(0, text.length(), URLSpan.class)获取的数组为空
2 个月之前 回复
baidu_26611019
baidu_26611019   2017.09.04 16:27

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

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片