# ViewModelProviders

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact android.arch.lifecycle:extensions:1.1.1  
Summary:[Nested Classes](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#nestedclasses)\|[Ctors](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#pubctors)\|[Methods](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#inhmethods)  

# ViewModelProviders

| The`android.arch`Architecture Components packages are no longer maintained. They have been superseded by the corresponding[androidx.\*](https://developer.android.com/jetpack/androidx/migrate)packages. See[androidx.lifecycle.ViewModelProviders](https://developer.android.com/reference/androidx/lifecycle/ViewModelProviders)instead.

`
public


class
ViewModelProviders
`  
`

extends Object


``


`

|---|-------------------------------------------|
| java.lang.Object                             ||
| ↳ | android.arch.lifecycle.ViewModelProviders |

<br />

*** ** * ** ***

Utilities methods for[ViewModelStore](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStore)class.

## Summary

|                                                                                                                                                                    ### Nested classes                                                                                                                                                                    ||
|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [ViewModelProviders.DefaultFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders.DefaultFactory) *This class was deprecated in API level 1.1.0. Use[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)* |

|                                                                                                           ### Public constructors                                                                                                            ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ViewModelProviders](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#ViewModelProviders())`() ` *This constructor was deprecated in API level 1.1.0. This class should not be directly instantiated* |

|                                                                                                                                                                                                                                                                                                                     ### Public methods                                                                                                                                                                                                                                                                                                                      ||
|-----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` static `[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | ` `[of](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#of(android.support.v4.app.Fragment))`(Fragment fragment) ` Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given`fragment`is alive.                                                                                                                                                                                                    |
| ` static `[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | ` `[of](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#of(android.support.v4.app.FragmentActivity))`(FragmentActivity activity) ` Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given Activity is alive.                                                                                                                                                                                    |
| ` static `[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | ` `[of](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#of(android.support.v4.app.Fragment, android.arch.lifecycle.ViewModelProvider.Factory))`(Fragment fragment, `[ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)` factory) ` Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given`fragment`is alive.                 |
| ` static `[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | ` `[of](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders#of(android.support.v4.app.FragmentActivity, android.arch.lifecycle.ViewModelProvider.Factory))`(FragmentActivity activity, `[ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)` factory) ` Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given Activity is alive. |

| ### Inherited methods |
|-----------------------|---|
| From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### ViewModelProviders

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProviders ()
```

<br />

**This constructor was deprecated in API level 1.1.0.**   
This class should not be directly instantiated

<br />

<br />

## Public methods

### of

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider of (Fragment fragment)
```

Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given`fragment`is alive. More detailed explanation is in[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel).

It uses[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)to instantiate new ViewModels.

<br />

|                                       Parameters                                        ||
|------------|-----------------------------------------------------------------------------|
| `fragment` | `Fragment`: a fragment, in whose scope ViewModels should be retained <br /> |

|                                                                  Returns                                                                   ||
|-------------------------------------------------------------------------------------------------------|-------------------------------------|
| [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | a ViewModelProvider instance <br /> |

### of

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider of (FragmentActivity activity)
```

Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given Activity is alive. More detailed explanation is in[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel).

It uses[ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)to instantiate new ViewModels.

<br />

|                                            Parameters                                            ||
|------------|--------------------------------------------------------------------------------------|
| `activity` | `FragmentActivity`: an activity, in whose scope ViewModels should be retained <br /> |

|                                                                  Returns                                                                   ||
|-------------------------------------------------------------------------------------------------------|-------------------------------------|
| [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | a ViewModelProvider instance <br /> |

### of

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider of (Fragment fragment, 
                ViewModelProvider.Factory factory)
```

Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given`fragment`is alive. More detailed explanation is in[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel).

It uses the given[ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)to instantiate new ViewModels.

<br />

|                                       Parameters                                        ||
|------------|-----------------------------------------------------------------------------|
| `fragment` | `Fragment`: a fragment, in whose scope ViewModels should be retained <br /> |
| `factory`  | `ViewModelProvider.Factory`: a`Factory`to instantiate new ViewModels <br /> |

|                                                                  Returns                                                                   ||
|-------------------------------------------------------------------------------------------------------|-------------------------------------|
| [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | a ViewModelProvider instance <br /> |

### of

added in[version 1.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
ViewModelProvider of (FragmentActivity activity, 
                ViewModelProvider.Factory factory)
```

Creates a[ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider), which retains ViewModels while a scope of given Activity is alive. More detailed explanation is in[ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel).

It uses the given[ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)to instantiate new ViewModels.

<br />

|                                            Parameters                                            ||
|------------|--------------------------------------------------------------------------------------|
| `activity` | `FragmentActivity`: an activity, in whose scope ViewModels should be retained <br /> |
| `factory`  | `ViewModelProvider.Factory`: a`Factory`to instantiate new ViewModels <br />          |

|                                                                  Returns                                                                   ||
|-------------------------------------------------------------------------------------------------------|-------------------------------------|
| [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider) | a ViewModelProvider instance <br /> |

-

  ## Annotations

  - [OnLifecycleEvent](https://developer.android.com/reference/android/arch/lifecycle/OnLifecycleEvent)
-

  ## Interfaces

  - [DefaultLifecycleObserver](https://developer.android.com/reference/android/arch/lifecycle/DefaultLifecycleObserver)
  - [LifecycleObserver](https://developer.android.com/reference/android/arch/lifecycle/LifecycleObserver)
  - [LifecycleOwner](https://developer.android.com/reference/android/arch/lifecycle/LifecycleOwner)
  - [LifecycleRegistryOwner](https://developer.android.com/reference/android/arch/lifecycle/LifecycleRegistryOwner)
  - [Observer](https://developer.android.com/reference/android/arch/lifecycle/Observer)
  - [ViewModelProvider.Factory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.Factory)
  - [ViewModelStoreOwner](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStoreOwner)
-

  ## Classes

  - [AndroidViewModel](https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel)
  - [Lifecycle](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle)
  - [LifecycleRegistry](https://developer.android.com/reference/android/arch/lifecycle/LifecycleRegistry)
  - [LifecycleService](https://developer.android.com/reference/android/arch/lifecycle/LifecycleService)
  - [LiveData](https://developer.android.com/reference/android/arch/lifecycle/LiveData)
  - [LiveDataReactiveStreams](https://developer.android.com/reference/android/arch/lifecycle/LiveDataReactiveStreams)
  - [MediatorLiveData](https://developer.android.com/reference/android/arch/lifecycle/MediatorLiveData)
  - [MutableLiveData](https://developer.android.com/reference/android/arch/lifecycle/MutableLiveData)
  - [ProcessLifecycleOwner](https://developer.android.com/reference/android/arch/lifecycle/ProcessLifecycleOwner)
  - [ServiceLifecycleDispatcher](https://developer.android.com/reference/android/arch/lifecycle/ServiceLifecycleDispatcher)
  - [Transformations](https://developer.android.com/reference/android/arch/lifecycle/Transformations)
  - [ViewModel](https://developer.android.com/reference/android/arch/lifecycle/ViewModel)
  - [ViewModelProvider](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider)
  - [ViewModelProvider.AndroidViewModelFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.AndroidViewModelFactory)
  - [ViewModelProvider.NewInstanceFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProvider.NewInstanceFactory)
  - [ViewModelProviders](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders)
  - [ViewModelProviders.DefaultFactory](https://developer.android.com/reference/android/arch/lifecycle/ViewModelProviders.DefaultFactory)
  - [ViewModelStore](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStore)
  - [ViewModelStores](https://developer.android.com/reference/android/arch/lifecycle/ViewModelStores)
-

  ## Enums

  - [Lifecycle.Event](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.Event)
  - [Lifecycle.State](https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State)