【发布时间】:2020-05-28 00:35:03
【问题描述】:
在执行一些 firebase 操作后,我尝试根据在文本框中输入的文本为 MutableLiveData<String> 设置不同的值。 (从 firebase 获取值以验证在文本框中键入的数据)
我正在尝试使用it.toast(context) 将String 显示为吐司,同时观察片段中的LiveData(按下按钮时)。
无论何时更改文本(清除第一个文本并键入第二个文本)并且按下按钮时,都会显示前一个 toast(第一个文本的那个),一段时间后,会显示相应的 toast。导航到上一个片段以某种方式解决了这个问题,但我不想这样做。此外,toast 会显示多次。
我在片段部分使用的代码:
ViewModel.getText(Text.toString(),args.Name) //responsible for setting the LiveData
ViewModel.messageLiveData.observe(this@Fragment, Observer {
it.toast(context) //trying to display the live data
textBox.setText("")
// findNavController().navigateUp()
})
【问题讨论】:
-
您的函数名称是 getText,但您使用它来设置 LiveData。你能解释一下为什么会这样吗?
-
问题标题是重复情况的双关语吗? ;-)
-
不错的一个。没看到那个。希望没有人编辑它
标签: android-context android-livedata android-toast mutablelivedata