gpt4 book ai didi

android - ViewModelProviders 和 ViewModelProvider 类有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:56:17 29 4
gpt4 key购买 nike

我看到两个名称相似的类,ViewModelProviders 和 ViewModelProvider。任何人都可以解释这些类(class)之间的区别是什么?哪个类实际提供了 ViewModel?

最佳答案

ViewModelProviders (属于 Maven Artifact android.arch.lifecycle:extensions)android.arch.lifecycle 包中的一个类,它包含 ViewModelStore 的实用方法类并在您使用 of() 方法时返回您 ViewModelProvider 类的对象。

因此,您可以将其视为 ViewModelProvider 库类的包装器。

另一方面,ViewModelProvider (属于 Maven Artifact android.arch.lifecycle:viewmodel) 是为范围提供 ViewModels 的类。因此,ActivityFragment 的默认 ViewModelProvider 可以从 ViewModelProviders 类中获取。

所以,是的!这是为您的 ViewModel 提供核心逻辑的主类,但您需要从 ViewModelProviders 获取它,它返回给您的此类从中获取 ViewModel

编辑:

ViewModel version 2.2.0 之后:

ViewModelProviders 已被弃用,我们现在可以通过创建它的新实例来直接使用 ViewModelProvider 来获取 ViewModel

像这样:ViewModelProvider(this).get(SomeViewModel::class.java)

关于android - ViewModelProviders 和 ViewModelProvider 类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54289559/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com