2014-10-16 69 views
1

如何禁用Spannable中的交互,而不会影响显示该交互的TextView禁用Spannable中的交互

换句话说,我想禁用给定Spannable中的所有链接。我不能假设任何跨度(特别是,它们可以是覆盖updateDrawStateClickableSpan子类)。

我试过

textView.setEnabled(false)不够好,因为它也禁止任何点击/触摸监听器添加到视图。

textView.setClickable(false) doest not disable Spannable链接。

+1

你可以删除跨度? – Blackbelt 2014-10-16 12:42:12

+0

@blackbelt但是我会放弃其他属性(例如,粗体),不是吗? – hpique 2014-10-16 12:48:46

+0

然后替换范围 – Blackbelt 2014-10-16 12:51:34

回答

1

对于自动链接,您可以使用TextView.setLinksClickable(false);

对于其他人将移动方法更改为ScrollingMovementMethod。

tv.setMovementMethod(ScrollingMovementMethod.getInstance()); 
+0

我相信只适用于自动链接? – hpique 2014-10-16 12:59:00

+0

你是对的。 – Okas 2014-10-16 13:21:11

+0

我不知道“ScrollingMovementMethod”。有趣。但是,它也会禁用视图交互。我猜这个跨度仍然在吃点击。 – hpique 2014-10-16 13:28:01

0

换句话说,我想禁用给定Spannable中的所有链接。

然后找到并从Spannable删除URLSpanClickableSpan对象。

但我会失去其他属性(例如,粗体),不是吗?

然后找到并与有你想要的造型一些其他的跨度更换SpannableURLSpanClickableSpan对象。

+0

我不能假设跨度的任何事情。它们可以是'ClickableSpan'子类来覆盖'updateDrawState'。 – hpique 2014-10-16 13:08:32

相关问题