2014-10-16 72 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

相關問題