我有一个SpannableStringBuilder
对象,该对象对其文本应用了某些格式。现在,我想在该对象中插入另一个格式化的字符串。我可以看到SpannableStringBuilder
有一个insert()
方法,但是它只接受一个CharSequence
,不允许我应用任何文本格式。
所以我想知道是否有可能以任何方式将SpannableStringBuilder
对象插入另一个SpannableStringBuilder
对象,或者是否需要重建完整的SpannableStringBuilder
对象?格式化文本吗?
答案 0 :(得分:0)
您的意思是目标SpannableStringBuilders和源SpannableStringBuilders都附加了跨度,对吧?
SpannableStringBuilder.replace()-内部使用的insert()-说
如果源是Spanned,则源的跨度将保留到 可修改
所以它应该工作。
但是,它似乎仅在dest还不包含源试图插入的跨度时才起作用。看到此评论:
//仅当该对象尚未用作该字符串的跨度时才添加跨度
在SpannableStringBuilder.java
我不确定为什么要在这种约束下实现它。