我的实证实验表明,如果我setSpan(o, start, end)
从字符串的开头到结尾,end
为String.length() - 1
,则不会覆盖最后一个字符。
当我将end
更改为String.length()
时,整个字符串都被覆盖了......我甚至没有得到“越界”异常。
不幸的是,文档中没有关于这个特定问题的内容。
你能证实我的观察吗? (或者证明我错了?)
答案 0 :(得分:6)
end
是独家的。例如,0, 2
是从0
包含到2
的所有内容,即0
和1
。
答案 1 :(得分:2)
大多数“结束”指数在实践中都是排他性的。也就是说,结束索引是一个超出最后的无论是什么的索引。如果SpannableString是Android SDK中的那个,那么不,文档没有为方法setSpan
说明这一点,尽管它适用于其他方法,例如subSequence
。