ViewModelProvider.Factory

Known direct subclasses
AbstractSavedStateViewModelFactory

Skeleton of androidx.lifecycle.ViewModelProvider.KeyedFactory that creates SavedStateHandle for every requested ViewModel.

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.

Known indirect subclasses
ViewModelProvider.AndroidViewModelFactory

Factory which may create AndroidViewModel and ViewModel, which have an empty constructor.


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
open 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

open 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