android - 如何使用从片段创建的观察者来切换带有来自 ViewModel 的消息的快餐栏
问题描述
viewModel
由MainActivity
调用委托的片段来创建msg
内部的观察者提供onViewCreated
viewModel.msg.observe(requireActivity(), Observer {
if(it.isNotEmpty() && !it.isNullOrBlank()) {
Snackbar.make(requireView().rootView, it, Snackbar.LENGTH_SHORT)
viewModel.onShowMsgComplete()
}
})
在msg
观察者内部正确接收到,但小吃吧未显示。
解决方案
这是一个简单的错误,你犯了。您没有显示Snackbar
通过调用.show()
方法。
viewModel.msg.observe(requireActivity(), Observer {
if(it.isNotBlank()) {
Snackbar.make(requireView().rootView, it, Snackbar.LENGTH_SHORT).show()
viewModel.onShowMsgComplete()
}
})
推荐阅读
- xml - XSLT 1.0 按子项的值对 xml 节点进行分组
- tensorflow - 尝试运行 keras Tuner 时,Google Colab 不断崩溃
- function - 如何指示函数变量的返回类型
- flutter - Flutter:避免 FlexibleSpaceBar 的不透明效果
- python - 如何使用 difflib 通过搜索列表中的元素来返回列表?
- javascript - JavaScript:修改 DOM 并用 JSON 数据填充它
- angular - angular-datetimepicker 没有反映正确的日期
- xamarin - 绑定 .Bind(TapGestureRecognizer.CommandProperty, nameof(BackArrowTapped)); 到网格不会调用我的 BackArrowTapped 命令
- python - 如何使用 python 请求库从页面中获取特定的标签元素
- angular - 如何在 Angular2+ 中修改 TemplateRef 的内容?