official Android developer docs中的协程LiveData
示例使用emit()
给出了以下示例:
val user: LiveData<User> = liveData {
val data = database.loadUser() // loadUser is a suspend function.
emit(data)
}
我看到的每个emit()
示例都包含了ProAndroidDev tutorial,在使用LiveData
时会创建一个新的emit()
对象。如何从已经创建的LiveDataScope
对象中获取LiveData
并为其添加值emit()
?例如
class MyViewModel : ViewModel() {
private val user: MutableLiveData<User> = MutableLiveData()
fun getUser(): LiveData<User> {
return user
}
fun loadUser() {
// Code to emit() values to existing user LiveData object.
}
非常感谢,非常感谢所有帮助!
答案 0 :(得分:0)
类似
fun loadUser() {
user.value = User()
}
通过
收听 myViewModel.getUser().observe(this, EventObserver { user ->
// do something with user
})
希望有帮助