ViewModelProvider.AndroidViewModelFactory


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

Summary

Public companion functions

ViewModelProvider.AndroidViewModelFactory
getInstance(application: Application)

Retrieve a singleton instance of AndroidViewModelFactory.

android

Public companion properties

CreationExtras.Key<Application>

A CreationExtras.Key to query an application in which ViewModel is being created.

android

Public constructors

Constructs this factory.

android

Constructs this factory.

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

Inherited functions

From androidx.lifecycle.ViewModelProvider.NewInstanceFactory
open T
<T : ViewModel> create(modelClass: KClass<T>, extras: CreationExtras)
android

Public companion functions

getInstance

fun getInstance(application: Application): ViewModelProvider.AndroidViewModelFactory

Retrieve a singleton instance of AndroidViewModelFactory.

Parameters
application: Application

an application to pass in AndroidViewModel

Public companion properties

APPLICATION_KEY

val APPLICATION_KEYCreationExtras.Key<Application>

A CreationExtras.Key to query an application in which ViewModel is being created.

Public constructors

AndroidViewModelFactory

AndroidViewModelFactory()

Constructs this factory. When a factory is constructed this way, a component for which ViewModel is created must provide an Application by APPLICATION_KEY in CreationExtras, otherwise IllegalArgumentException will be thrown from create method.

AndroidViewModelFactory

AndroidViewModelFactory(application: Application)

Constructs this factory.

Parameters
application: Application

an application to pass in AndroidViewModel

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