禁用Spannable中的交互

时间:2014-10-16 12:34:47

标签: android textview spannablestring

如何在Spannable中禁用互动,而不会影响展示它的TextView的互动?

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

我尝试了什么

updateDrawState不够好,因为它还会禁用添加到视图中的任何点击/触摸侦听器。

textView.setEnabled(false)不要禁用textView.setClickable(false)个链接。

2 个答案:

答案 0 :(得分:1)

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

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

   tv.setMovementMethod( ScrollingMovementMethod.getInstance() );

答案 1 :(得分:0)

  

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

然后查找并删除URLSpan中的ClickableSpanSpannable个对象。

  

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

然后从URLSpan中找到并替换 ClickableSpanSpannable个对象以及其他具有所需样式的跨度。