我正在练习 Google MVVM https://github.com/googlesamples/android-architecture/tree/todo-mvvm-databinding,在链接 Fragment 和 ViewModel 时遇到问题。
谷歌演示是这样的:
在活动中,
Fragment.newInstance()
new ViewModel()
fragment.setViewModel(viewModel). (Implementing a setViewModel method in Fragment)
viewmodel.loadingData() in fragment's onResume or onStart
我的问题是,这似乎不安全。如果由于某种原因,系统回收片段并使用默认构造函数重新创建,viewModel
将是 null 吗?
我是对的还是我错过了什么?
作为一种解决方法,我认为ViewModel()
在 Fragment 的onCreateView
方法中添加新的应该没问题?