LiveData
中的协程official Android developer docs示例使用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.
}
非常感谢,非常感谢所有帮助!
fun loadUser() {
user.value = User()
}
通过]收听>
myViewModel.getUser().observe(this, EventObserver { user -> // do something with user })
希望有帮助