【发布时间】:2018-04-04 22:08:24
【问题描述】:
这是一个非常主观的问题。 我终于越来越习惯于 MVVM(模型视图视图模型)(或者至少我是这么认为的),现在发生的事情是我在 ViewModel 中添加越来越多的 MutableLiveData 对象,然后直接从 Activity onCreate 观察。 我不确定这是否有益,或者这是否是来自 MVVM 的噪音,或者即使我采取了错误的方法,或者更糟糕的是,我的班级可能有太多的责任。 这是我从 onCreate 调用的连接观察者的方法之一:
private fun observeViewModel() {
preferencesViewModel.selectedDay.observe(this, Observer { refreshMarkers() })
viewModel.startPosition.observe(this, Observer { startPositionChanged(it) })
viewModel.finishPosition.observe(this, Observer { finishPositionChanged(it) })
viewModel.isShowingProgress.observe(this, Observer { progressDialogStateChanged(it) })
viewModel.directionLine.observe(this, Observer { plotRoute(it) })
viewModel.weathers.observe(this, Observer { if (it != null) showWeathers(it) })
viewModel.isShowingTopBar.observe(this, Observer { if (it == true) showTopBar() else hideTopBar() })
viewModel.shouldFinish.observe(this, Observer { if (it == true) finish() })
viewModel.error.observe(this, Observer { if (it != null) showErrorDialog(it) })
viewModel.actionRequest.observe(this, Observer { if (it != null) showActionRequest(it) })
viewModel.permissionRequest.observe(this, Observer { if (it != null) requestPermissions(it) })
}
所以我的问题是,这在带有 LiveData 的 MVVM 上是预期的吗? 有没有一种方法可以使代码更干净?
提前致谢。
【问题讨论】: