【问题标题】:multiple spans in a charsequence字符序列中的多个跨度
【发布时间】:2012-06-06 04:44:37
【问题描述】:

每当我在字符序列中设置跨度,然后在文本视图中设置文本时,它都很好。我正在使用这个

Ssb.setSpan(new StyleSpan(Typeface.ITALIC), start, end, 1);

然后设置TextView的文本。

但是当我从文本视图中获取文本然后使用 tv.getText() 从中获取文本时;它返回预期的 CharSequence,但是当我在 cs 中的其他位置设置跨度时,设置文本时另一个跨度不存在。

很抱歉缺少代码。我家里没有适当的互联网接入,所以我用手机发布了这个。

【问题讨论】:

  • 您是否在 TextView 上附加了任何过滤器?另外,如果你不修改文字,只是转身重新设置(例如tv.setText(tv.getText());),原来的span还会消失吗?
  • 当我这样做时它不会删除跨度。

标签: android


【解决方案1】:

试试这个

Spannable mSpannable = textview.getText(); // will hold old spans.
mSpannable.setSpan(new StyleSpan(Typeface.ITALIC), start, end, 1); // do some new span

【讨论】:

  • 谢谢。我在设置文本之前移动了我的代码。我就是这样做的。这基本上就是我现在的做法。只需要弄清楚如何将其保存到共享首选项中。
猜你喜欢
  • 1970-01-01
  • 2022-11-21
  • 2014-09-25
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多