ViewModelProvider.Companion


public static class ViewModelProvider.Companion


Summary

Public methods

static final @NonNull ViewModelProvider
create(
    @NonNull ViewModelStoreOwner owner,
    @NonNull ViewModelProvider.Factory factory,
    @NonNull CreationExtras extras
)

Creates a ViewModelProvider.

static final @NonNull ViewModelProvider
create(
    @NonNull ViewModelStore store,
    @NonNull ViewModelProvider.Factory factory,
    @NonNull CreationExtras extras
)

Creates a ViewModelProvider.

static final @NonNull CreationExtras.Key<@NonNull String>

A CreationExtras.Key used to retrieve the key associated with a requested ViewModel.

Public methods

create

Added in 2.8.0-beta01
public static final @NonNull ViewModelProvider create(
    @NonNull ViewModelStoreOwner owner,
    @NonNull ViewModelProvider.Factory factory,
    @NonNull CreationExtras extras
)

Creates a ViewModelProvider. This provider generates ViewModel instances using the specified Factory and stores them within the ViewModelStore of the provided ViewModelStoreOwner.

Parameters
@NonNull ViewModelStoreOwner owner

The ViewModelStoreOwner that will manage the lifecycle of the created ViewModel instances.

@NonNull ViewModelProvider.Factory factory

The Factory responsible for creating new ViewModel instances.

@NonNull CreationExtras extras

Additional data to be passed to the Factory during ViewModel creation.

create

Added in 2.8.0-beta01
public static final @NonNull ViewModelProvider create(
    @NonNull ViewModelStore store,
    @NonNull ViewModelProvider.Factory factory,
    @NonNull CreationExtras extras
)

Creates a ViewModelProvider. This provider generates ViewModel instances using the specified Factory and stores them within the ViewModelStore of the provided ViewModelStoreOwner.

Parameters
@NonNull ViewModelStore store

ViewModelStore where ViewModels will be stored.

@NonNull ViewModelProvider.Factory factory

factory a Factory which will be used to instantiate new ViewModels

@NonNull CreationExtras extras

Additional data to be passed to the Factory during ViewModel creation.

getVIEW_MODEL_KEY

public static final @NonNull CreationExtras.Key<@NonNull StringgetVIEW_MODEL_KEY()

A CreationExtras.Key used to retrieve the key associated with a requested ViewModel.

The ViewModelProvider automatically includes the key in the CreationExtras passed to ViewModelProvider.Factory. This applies to keys generated by either of these usage patterns:

  • ViewModelProvider.get(key, MyViewModel::class): provided key is used.

  • ViewModelProvider.get(MyViewModel::class): generates a key from given class.