ViewModelLazy


public final class ViewModelLazy<VM extends ViewModel> implements Lazy


An implementation of Lazy to facilitate lazy retrieval of ViewModel instances.

storeProducer is a lambda called during initialization; the ViewModel is created within the returned ViewModelStore.

factoryProducer is a lambda called during initialization; the returned ViewModelProvider.Factory is used to create the ViewModel.

extrasProducer is a lambda called during initialization; the returned CreationExtras are used during the creation of the ViewModel.

Summary

Public constructors

<VM extends ViewModel> ViewModelLazy(
    @NonNull KClass<@NonNull VM> viewModelClass,
    @NonNull Function0<@NonNull ViewModelStore> storeProducer,
    @NonNull Function0<@NonNull ViewModelProvider.Factory> factoryProducer,
    @NonNull Function0<@NonNull CreationExtras> extrasProducer
)

Public methods

@NonNull VM
boolean

Public constructors

ViewModelLazy

public <VM extends ViewModel> ViewModelLazy(
    @NonNull KClass<@NonNull VM> viewModelClass,
    @NonNull Function0<@NonNull ViewModelStore> storeProducer,
    @NonNull Function0<@NonNull ViewModelProvider.Factory> factoryProducer,
    @NonNull Function0<@NonNull CreationExtras> extrasProducer
)

Public methods

getValue

Added in 2.4.0
public @NonNull VM getValue()

isInitialized

Added in 2.4.0
public boolean isInitialized()