我会通过这codelab: https://developer.android.com/codelabs/android-lifecycles#6 它解释了如何使用SavedStateHandle在一个模型,以生存的过程中死亡。 构造模型,具体如下:
private SavedStateHandle mState;
public SavedStateViewModel(SavedStateHandle savedStateHandle) {
mState = savedStateHandle;
}
和视图模型是以初始化的活动如下:
mSavedStateViewModel = new ViewModelProvider(this).get(SavedStateViewModel.class);
当被视图模型的构造? 和如何将模型得到的 savedStateHandle
参数的模型?
编辑:
我现在回答我的问题,通过这个博文: https://www.rockandnull.com/viewmodel-savedstate/
它说,如果SavedStateHandle
是唯一参数,在我们的视图模型的构造的 by viewModels
委托它提供给视图模型。
但是, 如果我们有一个组合的定义参数,提供的依赖注射框架(剑柄)e。g:仓库,一对夫妇的其他运行时的论点e。g:选定的类别标识和SavedStateHandle,以帮助我们生存的过程中死亡的视图模型的构造-我们可以如何提供所有这些参数的工厂吗?
请一个小的例子,我的理解