我的Android應用程序使用ClickableSpan
來處理擾流標籤。我試圖在TextView
中實現文本替換,但.replaceRange
什麼都不做。我可以確認startPos
和endPos
是有效的職位。Android Kotlin`.replaceRange`不能替換SpannableString中的文本
var text = ((textView as TextView).text as SpannableString)
var spans = text.getSpans(0, text.length, SpoilerSpan::class.java)
for (span in spans) {
if (span == this) {
val startPos = text.getSpanStart(span)
val endPos = text.getSpanEnd(span)
printout(startPos.toString() + " " + endPos.toString())
text.replaceRange(startPos, endPos, spoilerText)
printout(text.toString())
}
}
textView.text = text
嘗試'可編輯#替換' – pskink
@pskink如何將其轉換爲可編輯? – Feelfree
就像你一樣? var text =((textView作爲TextView).text as SpannableString)' – pskink