Является ли SpannableString.setSpan () 2nd parm 0 основанным? - PullRequest
7 голосов
/ 11 мая 2011

Мой эмпирический эксперимент показывает, что если I setSpan(o, start, end) от начала до конца строки, где end равно String.length() - 1, последний символ не охватывается.

Когда я изменил end на ровно String.length(), вся строка покрыта и ... я даже не получаю исключение "вне границы".

К сожалению, в документации нет ничего, касающегося этой конкретной проблемы.

Можете ли вы подтвердить мои наблюдения? (или докажете, что я не прав?)

Ответы [ 2 ]

6 голосов
/ 11 мая 2011

end является эксклюзивным.Например, 0, 2 - это все от 0 включительно до 2 эксклюзивно, то есть 0 и 1.

2 голосов
/ 11 мая 2011

Большинство «конечных» индексов будут на практике исключительными. То есть конечный индекс - это один за пределами индекса последнего, что бы это ни было. Если SpannableString является тем из Android SDK, то нет, документация не говорит это для метода setSpan, хотя это относится и к другим методам, таким как subSequence.

...