ViewModelScenarioKt
public final class ViewModelScenarioKt
Summary
Public methods |
|
|---|---|
static final @NonNull ViewModelScenario<@NonNull VM> |
<VM extends ViewModel> viewModelScenario(Creates a |
static final @NonNull ViewModelScenario<@NonNull VM> |
<VM extends ViewModel> viewModelScenario(Creates a |
Public methods
viewModelScenario
public static final @NonNull ViewModelScenario<@NonNull VM> <VM extends ViewModel> viewModelScenario(
@NonNull CreationExtras creationExtras,
@NonNull Function1<@NonNull CreationExtras, @NonNull VM> initializer
)
Creates a ViewModelScenario using a given VM class as key, an initializer as a ViewModelProvider.Factory and a creationExtras as default extras.
You should access the ViewModel instance using ViewModelScenario.viewModel, and clear the ViewModelStore using ViewModelScenario.close.
Example usage:
viewModelScenario { MyViewModel(parameters) }
.use { scenario ->
val vm = scenario.viewModel
// Use the ViewModel
}viewModelScenario
public static final @NonNull ViewModelScenario<@NonNull VM> <VM extends ViewModel> viewModelScenario(
@NonNull ViewModelProvider.Factory factory,
@NonNull CreationExtras creationExtras
)
Creates a ViewModelScenario using a given VM class as key, an factory and a creationExtras as default extras.
You should access the ViewModel instance using ViewModelScenario.viewModel, and clear the ViewModelStore using ViewModelScenario.close.
Example usage:
val myFactory: ViewModelProvider.Factory = MyViewModelFactory()
viewModelScenario<MyViewModel>(myFactory)
.use { scenario ->
val vm = scenario.viewModel
// Use the ViewModel
}
| Parameters | |
|---|---|
<VM extends ViewModel> |
The reified |
@NonNull ViewModelProvider.Factory factory |
|
@NonNull CreationExtras creationExtras |
Additional data passed to the |