0

我有一个使用 ClickableSpans 填充内部应用程序链接的 TextView。我正在使用 Kotlin,但我会在 Kotlin 或 Java 中回答。

val spannableString = SpannableString(myTextView.text)
val clickableSpan = object : ClickableSpan() {
    override fun onClick(view: View) {
        // handle click
    }
}
spannableString.setSpan(clickableSpan, spanStartIndex, spanEndIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
myTextView.movementMethod = LinkMovementMethod.getInstance()
myTextView.setText(spannableString, TextView.BufferType.SPANNABLE)

当我在手机上切换暗模式时,我的所有链接都消失了!如果我重新加载视图,链接会重新生成并再次工作,但在此之前文本会恢复为纯文本。这发生在从亮模式切换到暗模式,反之亦然。

我正在寻找一种干净的方法来解决此问题,如果用户切换亮/暗模式,则无需重新加载我的活动。有什么自动的东西可以解决我的问题吗?如果可行的话,也许会以某种方式将跨度保存到 savedInstanceState 包中?或者是否有一个我不知道我需要覆盖的 OnNightModeEnabled 函数?

4

0 回答 0