在片段中初始化ViewModel Android java。

我试图在我的视图模型对象中初始化我的 FirstFragment.java 的文件 BasicActivity. 所有这四个代码都是失败的。文件对我帮助不大。

mViewModel = new ViewModelProvider(this).get(MyViewModel.class);
mViewModel = new ViewModelProvider(requireActivity()).get(MyViewModel.class);
mViewModel = new ViewModelProvider(getActivity()).get(MyViewModel.class);
mViewModel = new ViewModelProvider(FirstFragment.class).get(MyViewModel.class);

另一方面: public ViewModelProvider(@NonNull ViewModelStoreOwner owner) ViewModelProvider以ViewModelStoreOwner为参数,在 FragmentActivity.java ViewModelStore getViewModelStore() 方式 ViewModelStore 接口的实现可能是在一个工厂模式。

@NonNull
        @Override
        public ViewModelStore getViewModelStore() {
            return FragmentActivity.this.getViewModelStore();
        }

帮助我初始化ViewModel

解决方案:

初始化你的viewModel是这样的。

如果你使用的是

implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'

并初始化你的viewModel

viewModel = ViewModelProviders.of(this,viewModelFactory).get(MyViewModel.class);

但现在已经不适用了。所以更新依赖关系为:

implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

并按如下方式初始化你的viewModel。

viewModel = new ViewModelProvider(this,viewModelFactory).get(MyViewModel.class);

viewModelFactory是可选的。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

使用kubectl或其他ansible模块,如command,脚本在pod中运行shell命令。

2022-5-14 19:21:16

解决方案

将快捷键st, nd, rd连成列值--Excel

2022-5-14 20:00:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索