#LiveData #Kotlin #Nullability
Improving LiveData nullability in Kotlin
Не раздражало ли вас, что при объявлении
Проблема заключается в том, что LiveData написана на Java и ничего не знает о системе типов в Kotlin и особенностях Generic. Исправить это через -ktx библиотеки не получится, так как надо переписывать LiveData на Kotlin или иметь спец аннотации для Java, чтобы обеспечивать совместимость.
В статье автор описывает не самое красивое решение, но эффективное - создание подкласса
Improving LiveData nullability in Kotlin
Не раздражало ли вас, что при объявлении
LiveData<Value>
в Kotlin, вы все равно можете получить null
в Observer
или задать null
значение через LiveData.value
? Проблема заключается в том, что LiveData написана на Java и ничего не знает о системе типов в Kotlin и особенностях Generic. Исправить это через -ktx библиотеки не получится, так как надо переписывать LiveData на Kotlin или иметь спец аннотации для Java, чтобы обеспечивать совместимость.
В статье автор описывает не самое красивое решение, но эффективное - создание подкласса
MutableLiveData
с полной поддержкой Kotlin.Medium
Improving LiveData nullability in Kotlin
LiveData’s interop with Kotlin has always been a bit tricky. This blurb shows one way to handle LiveData’s nullability in a Kotlin world.