【发布时间】:2017-03-24 18:16:30
【问题描述】:
我正在尝试为常见问题解答部分设置一个字符串交替粗体和不粗体,我看到一些奇怪的东西。只有一组问题和答案收到正确的跨度。调试时,我看到字符串生成器上只设置了两个跨度。它不应该为每个 set span 调用附加一个新的 span 吗?
(activity as MainActivity).settingsPresenter.getFaq(
{ success, message,value ->
if(success) {
var sb : SpannableStringBuilder = SpannableStringBuilder("")
var fcs : ForegroundColorSpan = ForegroundColorSpan(Color.rgb(255, 255, 255))
var styleBold : StyleSpan = StyleSpan(Typeface.BOLD)
var styleNotBold : StyleSpan = StyleSpan(Typeface.NORMAL)
for (i in 0..value?.size!! - 1){
sb.append(value?.get(i)?.Question + "\n\n")
sb.setSpan(styleBold, startLocation, startLocation + value?.get(i)?.Question?.length!!, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
startLocation += value?.get(i)?.Question?.length!! + 2//update the start location pointer to color the next section of text
sb.append(value?.get(i)?.Answer + "\n\n")
sb.setSpan(styleNotBold, startLocation, startLocation + value?.get(i)?.Answer?.length!!, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
startLocation += value?.get(i)?.Answer?.length!! + 2
}
faq_content.append(sb)
}
})
【问题讨论】: