ViewModelProviders和ViewModelProvider类之间有什么区别?

Abh*_*mar 12 android mvvm viewmodel

我看到了两个名称相似的类ViewModelProviders和ViewModelProvider。谁能解释这些类之间的区别?哪个类实际提供ViewModel?

Jee*_*ede 9

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

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

另一方面,ViewModelProvider (属于Maven工件android.arch.lifecycle:viewmodel)是提供ViewModels范围的类。因此,它的默认ViewModelProvider为一个Activity或一个Fragment可从以下地址获得ViewModelProviders类。

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

希望,我说清楚了!