ViewModelProvider.NewInstanceFactory


  • Common/All
  • Android/JVM
  • Native/C/iOS
ViewModelProvider.AndroidViewModelFactory

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


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

Summary

Public companion properties

CreationExtras.Key<String>

A CreationExtras.Key used to retrieve the key associated with a requested ViewModel.

android

Public constructors

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)
android

Public companion properties

VIEW_MODEL_KEY

val VIEW_MODEL_KEYCreationExtras.Key<String>

A CreationExtras.Key used to retrieve the key associated with a requested ViewModel.

The ViewModelProvider automatically includes the key in the CreationExtras passed to ViewModelProvider.Factory. This applies to keys generated by either of these usage patterns:

  • ViewModelProvider.get(key, MyViewModel::class): provided key is used.

  • ViewModelProvider.get(MyViewModel::class): generates a key from given class.

See also
VIEW_MODEL_KEY

Public constructors

NewInstanceFactory

NewInstanceFactory()

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