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

InitializerViewModelFactoryBuilder

@ViewModelFactoryDsl
public final class InitializerViewModelFactoryBuilder


DSL for constructing a new ViewModelProvider.Factory

Summary

Public constructors

Public methods

final void
<T extends ViewModel> addInitializer(
    @NonNull KClass<@NonNull T> clazz,
    @ExtensionFunctionType @NonNull Function1<@NonNull CreationExtras, @NonNull T> initializer
)

Add the initializer for the given ViewModel class.

final @NonNull ViewModelProvider.Factory

Build the InitializerViewModelFactory.

Extension functions

final void

Add an initializer to the InitializerViewModelFactoryBuilder

Public constructors

InitializerViewModelFactoryBuilder

public InitializerViewModelFactoryBuilder()

Public methods

addInitializer

public final void <T extends ViewModel> addInitializer(
    @NonNull KClass<@NonNull T> clazz,
    @ExtensionFunctionType @NonNull Function1<@NonNull CreationExtras, @NonNull T> initializer
)

Add the initializer for the given ViewModel class.

Parameters
@NonNull KClass<@NonNull T> clazz

the class the initializer is associated with.

@ExtensionFunctionType @NonNull Function1<@NonNull CreationExtras, @NonNull T> initializer

lambda used to create an instance of the ViewModel class

build

public final @NonNull ViewModelProvider.Factory build()

Build the InitializerViewModelFactory.

Extension functions

InitializerViewModelFactoryKt.initializer

public final void <VM extends ViewModel> InitializerViewModelFactoryKt.initializer(
    @NonNull InitializerViewModelFactoryBuilder receiver,
    @ExtensionFunctionType @NonNull Function1<@NonNull CreationExtras, @NonNull VM> initializer
)

Add an initializer to the InitializerViewModelFactoryBuilder