ViewModelProvider.Factory


public interface ViewModelProvider.Factory
Known direct subclasses

Implementations of the Factory interface are responsible for instantiating ViewModels.

Summary

Public methods

default @NonNull T
<T extends ViewModel> create(@NonNull Class<@NonNull T> modelClass)

Creates a new instance of the given Class.

default @NonNull T
<T extends ViewModel> create(
 @NonNull Class<@NonNull T> modelClass,
 @NonNull CreationExtras extras
)

Creates a new instance of the given Class.

default static final @NonNull ViewModelProvider.Factory
from(@NonNull ViewModelInitializer<@NonNull ?>... initializers)

Creates an InitializerViewModelFactory using the given initializers.

Public methods

create

Added in 2.0.0
default @NonNull T <T extends ViewModel> create(@NonNull Class<@NonNull T> modelClass)

Creates a new instance of the given Class.

Default implementation throws UnsupportedOperationException.

Parameters
@NonNull Class<@NonNull T> modelClass

Class of the ViewModel to create

Returns
@NonNull T

new ViewModel instance of type T

create

Added in 2.5.0
default @NonNull T <T extends ViewModel> create(
 @NonNull Class<@NonNull T> modelClass,
 @NonNull CreationExtras extras
)

Creates a new instance of the given Class.

Parameters
@NonNull Class<@NonNull T> modelClass

Class of the ViewModel to create

@NonNull CreationExtras extras

CreationExtras passed to the Factory to create the ViewModel

Returns
@NonNull T

new ViewModel instance of type T

from

Added in 2.5.0
default static final @NonNull ViewModelProvider.Factory from(@NonNull ViewModelInitializer<@NonNull ?>... initializers)

Creates an InitializerViewModelFactory using the given initializers.

Parameters
@NonNull ViewModelInitializer<@NonNull ?>... initializers

class initializer pairs used to create simple ViewModels