一、前言:
Google官方提供的Activity和Fragment都默认实现了LifecycleOwner,而使用LiveData一般又都是在Activity和Fragment类中使用。

Kotlin版本升级到1.4.+ 可以明显到observe()过时了。
//我的Kotlin版本
ext.kotlin_version = '1.4.10'
二、解决
在 Kotlin 1.4 上本身能够将默认的 observe() 方法转换为 lambda 语法,以前只有在使用 Kotlin 扩展时才可用。因此将 LiveData.observe() 扩展方法废弃掉了。
在 Kotlin 1.4 之前 LiveData.observe()
写法如下所示。
liveData.observe(this, Observer<String> {
// ......
})
但是这种写法有点复杂,因此 Google 在 lifecycle-livedata-ktx
库中添加了扩展方法,使代码更简洁,可读性更强。
liveData.observe(this){
// ......
}
特别注意:迁移也非常简单,升级到 Kotlin 1.4 之后,只需要移除掉下列包的导入即可。
//删除这个导包即可
import androidx.lifecycle.observe
网友评论