Vah*_*yan 73 android kotlin android-livedata
在相同的情况下,当我调用对象的observe方法时,Android Studio 会显示警告消息LiveData
viewModel.emailValidationResult.observe(viewLifecycleOwner, {onEmailChanged(it)})
Run Code Online (Sandbox Code Playgroud)
候选解析将很快更改,请使用完全限定名称明确调用以下更接近的候选:
public open fun observe(owner: LifecycleOwner,observer: Observer<in Int?>): androidx.lifecycle.LiveData中定义的单元
据我了解,这是在更新 kotlin 1.4 之后发生的, 这实际上是什么意思?
hra*_*ach 115
这意味着不再需要 androidx 中的扩展。
只需删除它的 import import androidx.lifecycle.observe。
它实际上将在 androidx 中被弃用。在那里阅读更多推理。
编辑:
请注意 Erik Hoogendoorn 的“问题”
此更改导致来自观察到的 LiveData 对象的值被解释为可为空(因为转换后的 lambda 语法基于可为空的 Java 代码)。Kotlin 扩展不是这种情况,会导致用户的功能损失。在我看来,应该恢复这种更改并找到不同的解决方案。
我很好奇他们是否会重命名并保留助手或提出其他解决方案。
Bol*_*ose 13
Androidx 扩展已弃用,因此我们必须使用原始扩展。
删除“导入 androidx.lifecycle.observe”
然后
viewModel.liveData.observe(viewLifecycleOwner, Observer { result ->
})
/*
viewModel.liveData.observe(viewLifecycleOwner) { result ->
}
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7497 次 |
| 最近记录: |