{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

InitializerViewModelFactoryBuilder

@ViewModelFactoryDsl
class InitializerViewModelFactoryBuilder


DSL for constructing a new ViewModelProvider.Factory

Summary

Public constructors

Public functions

Unit
<T : ViewModel> addInitializer(clazz: KClass<T>, initializer: CreationExtras.() -> T)

Add the initializer for the given ViewModel class.

ViewModelProvider.Factory

Build the InitializerViewModelFactory.

Extension functions

inline Unit
<VM : ViewModel> InitializerViewModelFactoryBuilder.initializer(
    noinline initializer: CreationExtras.() -> VM
)

Add an initializer to the InitializerViewModelFactoryBuilder

Public constructors

InitializerViewModelFactoryBuilder

InitializerViewModelFactoryBuilder()

Public functions

addInitializer

fun <T : ViewModel> addInitializer(clazz: KClass<T>, initializer: CreationExtras.() -> T): Unit

Add the initializer for the given ViewModel class.

Parameters
clazz: KClass<T>

the class the initializer is associated with.

initializer: CreationExtras.() -> T

lambda used to create an instance of the ViewModel class

build

fun build(): ViewModelProvider.Factory

Build the InitializerViewModelFactory.

Extension functions

initializer

inline fun <VM : ViewModel> InitializerViewModelFactoryBuilder.initializer(
    noinline initializer: CreationExtras.() -> VM
): Unit

Add an initializer to the InitializerViewModelFactoryBuilder