【发布时间】:2020-10-07 09:00:28
【问题描述】:
我遇到了一个特殊的问题。在我的代码中,我在视图模型中观察到String 类型的MutableLiveData,并将上下文显示为吐司。当我在 AVD 中运行它时,toast 被多次显示,即MutableLiveData 被多次观察。但是,当我在我的手机中运行相同的代码时,toast 只显示一次(按预期工作)。
代码(片段):
if(!viewModel.messageDisplayed) {
viewModel.MessageStatus.observe(viewLifecycleOwner, Observer {
it.toast(context)
viewModel.messageDisplayed = true // I'm using this variable to avoid displaying the toast multiple
//times but it does not work in the emulator
})
}
代码(视图模型):
val MessageStatus = MutableLiveData<String>()
fun fireStoreOperations(){
//fireStore Operations
.addOnSuccessListener{
messageDisplayed= False
MessageStatus.value = "Message to be displayed"
}
}
【问题讨论】:
标签: android android-fragments mvvm viewmodel android-toast