xiz*_*izz 8 android android-jetpack
我的 viewmodel-savestate 版本是
implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha03'
在 1.0.0-alpha01 版本中,我可以使用
MyViewModel myVM = new ViewModelProvider(this, new SavedStateVMFactory(this)).get(MyVM.class);
Run Code Online (Sandbox Code Playgroud)
使用 savestate 创建视图模型,但在 1.0.0-alpha03 版本中,
SavedStateVMFactory
Run Code Online (Sandbox Code Playgroud)
无法工作,我需要使用new SavedStateViewModelFactory但我不知道第二个参数是什么意思,代码可能如下所示:
myVM = new ViewModelProvider(this, new SavedStateViewModelFactory(getApplication(),xxxxxxx)).get(MyVM.class);
Run Code Online (Sandbox Code Playgroud)
我在 android 开发者网站上找不到任何关于此的文档,很遗憾
ian*_*ake 15
根据SavedStateRegistryOwner文档,Fragment和AppCompatActivity实施SavedStateRegistryOwner,因此您可以传入this:
myVM = new ViewModelProvider(this,
new SavedStateViewModelFactory(getApplication(), this))
.get(MyVM.class);
Run Code Online (Sandbox Code Playgroud)
只要确保您使用的是 AppCompat 1.1.0,这是AppCompatActivity(及其基类FragmentActivity和ComponentActivity)开始实现SavedStateRegistryOwner.
| 归档时间: |
|
| 查看次数: |
3551 次 |
| 最近记录: |