ViewModelProvider.AndroidViewModelFactory



Factory that creates AndroidViewModel and ViewModel instances.

Summary

Public companion functions

ViewModelProvider.AndroidViewModelFactory
getInstance(application: Application)

Returns a singleton instance of AndroidViewModelFactory.

android

Public companion properties

CreationExtras.Key<Application>

A CreationExtras.Key to query the Application instance when creating a ViewModel.

android

Public constructors

Constructs a new AndroidViewModelFactory.

android

Constructs a new AndroidViewModelFactory.

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)

Creates a new instance of the given modelClass.

android

Public companion functions

getInstance

fun getInstance(application: Application): ViewModelProvider.AndroidViewModelFactory

Returns a singleton instance of AndroidViewModelFactory.

Parameters
application: Application

application instance to pass to AndroidViewModel constructors

Public companion properties

APPLICATION_KEY

val APPLICATION_KEYCreationExtras.Key<Application>

A CreationExtras.Key to query the Application instance when creating a ViewModel.

Public constructors

AndroidViewModelFactory

AndroidViewModelFactory()

Constructs a new AndroidViewModelFactory.

When constructed this way, the caller must provide an Application via the APPLICATION_KEY in CreationExtras to create an AndroidViewModel. Otherwise, create throws an IllegalArgumentException.

AndroidViewModelFactory

AndroidViewModelFactory(application: Application)

Constructs a new AndroidViewModelFactory.

Parameters
application: Application

application instance to pass to AndroidViewModel constructors

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>

Class of the ViewModel to create

Returns
T

new ViewModel instance of type T

create

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

Creates a new instance of the given Class.

Parameters
modelClass: Class<T>

Class of the ViewModel to create

extras: CreationExtras

CreationExtras passed to the Factory to create the ViewModel

Returns
T

new ViewModel instance of type T