ViewModelProvider.Factory


Known direct subclasses
AbstractSavedStateViewModelFactory

This class is deprecated. Use `viewModelFactory` or implement `ViewModelProvider.Factory`, combined with `CreationExtras.createSavedStateHandle()`.

SavedStateViewModelFactory

androidx.lifecycle.ViewModelProvider.Factory that can create ViewModels accessing and contributing to a saved state via SavedStateHandle received in a constructor.

ViewModelProvider.NewInstanceFactory

Simple factory, which calls empty constructor on the give class.


Implementations of Factory interface are responsible to instantiate ViewModels.

Summary

Public companion functions

ViewModelProvider.Factory
from(vararg initializers: ViewModelInitializer<*>)

Creates an InitializerViewModelFactory using the given initializers.

android

Public functions

open T
<T : ViewModel> create(modelClass: Class<T>)

Creates a new instance of the given Class.

android
open T
<T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras)

Creates a new instance of the given Class.

android
T
<T : ViewModel> create(modelClass: KClass<T>, extras: CreationExtras)

Creates a new instance of the given Class.

Cmn
android
N

Public companion functions

from

fun from(vararg initializers: ViewModelInitializer<*>): ViewModelProvider.Factory

Creates an InitializerViewModelFactory using the given initializers.

Parameters
vararg initializers: ViewModelInitializer<*>

the class initializer pairs used for the factory to create simple view models

Public functions

create

open fun <T : ViewModel> create(modelClass: Class<T>): T

Creates a new instance of the given Class.

Default implementation throws UnsupportedOperationException. ˆ

Parameters
modelClass: Class<T>

a Class whose instance is requested

Returns
T

a newly created ViewModel

create

open fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T

Creates a new instance of the given Class.

Parameters
modelClass: Class<T>

a Class whose instance is requested

extras: CreationExtras

an additional information for this creation request

Returns
T

a newly created ViewModel

create

fun <T : ViewModel> create(modelClass: KClass<T>, extras: CreationExtras): T

Creates a new instance of the given Class.

Parameters
modelClass: KClass<T>

a KClass whose instance is requested

extras: CreationExtras

an additional information for this creation request

Returns
T

a newly created ViewModel