ViewModelLazy

public final class ViewModelLazy<VM extends ViewModel> implements Lazy


An implementation of Lazy used by androidx.fragment.app.Fragment.viewModels and androidx.activity.ComponentActivity.viewmodels.

storeProducer is a lambda that will be called during initialization, VM will be created in the scope of returned ViewModelStore.

factoryProducer is a lambda that will be called during initialization, returned ViewModelProvider.Factory will be used for creation of VM

providerOwner is a lambda that will be called during initialization, returned HasDefaultViewModelProviderFactory will get CreationExtras used for creation of VM

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.1.0
public @NonNull VM getValue()

isInitialized

Added in 2.1.0
public boolean isInitialized()