Toggling Dark Mode удаляет кликабельные участки TextView - PullRequest
0 голосов
/ 21 марта 2020

У меня есть TextView, который я заполняю внутренними ссылками приложения, используя ClickableSpans. Я использую 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)

Когда я переключаю Dark Mode на телефоне, все мои ссылки исчезают! Если я перезагружаю представление, ссылки восстанавливаются и снова работают, но до тех пор текст снова становится простым текстом. Это происходит при переключении из светлого в темный режим и наоборот.

Я ищу чистый способ решения этой проблемы, не перезагружая мою деятельность, если пользователь переключает светлый / темный режимы. Есть ли что-нибудь автоматическое c, которое может решить мою проблему? Может быть, каким-то образом сохранить промежутки в комплекте saveInstanceState, если это сработает? Или есть функция OnNightModeEnabled, о которой я не знаю, что мне нужно переопределить?

...