Как я могу декодировать HTML-код для Android Kotlin? - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь декодировать HTML-объекты, в настоящее время мой код:

val str = name
val textView = findViewById<View>(R.id.text) as TextView
textView.text = Html.fromHtml(str, Html.FROM_HTML_MODE_COMPACT)

и здесь сообщение об ошибке:

kotlin.TypeCastException: null cannot be cast to non-null type android.widget.TextView

1 Ответ

0 голосов
/ 09 сентября 2018

Ваша ошибка не имеет ничего общего с обработкой HTML, в этой строке вы получаете исключение, потому что findViewById возвращает null, а затем приведение к TextView завершается неудачно:

val textView = findViewById<View>(R.id.text) as TextView

Почему это происходит, трудно понять без контекста, но проблема в том, что представление с идентификатором text не было найдено.

  • Если вы находитесь в Activity, убедитесь, что вы делаете это после того, как позвоните setContentView.
  • Если вы используете Fragment, убедитесь, что вы делаете это после запуска метода onCreateView.
  • В любом случае убедитесь, что вы на самом деле используете макет, который содержит TextView с идентификатором @+id/text.

Кроме того, вы сначала просматриваете TextView как View, а затем разыгрываете его, вместо этого вы можете выполнить любое из них:

val textView = findViewById<TextView>(R.id.text)
val textView: TextView = findViewById(R.id.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...