gpt4 book ai didi

android - 如何将 emit() LiveData 结果发送到现有的 LiveData 对象?

转载 作者:行者123 更新时间:2023-11-29 02:18:11 31 4
gpt4 key购买 nike

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使用 emit() 时创建一个新的 LiveData 对象。如何从已创建的 LiveData 对象获取 LiveDataScope 并将 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
})

希望对你有帮助

关于android - 如何将 emit() LiveData 结果发送到现有的 LiveData 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58747258/

31 4 0