# ViewModelInitializer

Artifact: [androidx.lifecycle:lifecycle-viewmodel](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/viewmodel/InitializerViewModelFactory.+class:androidx.lifecycle.viewmodel.ViewModelInitializer) Added in [2.5.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.5.0)

*** ** * ** ***


```
public final class ViewModelInitializer<T extends ViewModel>
```

<br />

*** ** * ** ***

Holds a `https://developer.android.com/reference/androidx/lifecycle/ViewModel` class and initializer for that class

## Summary

| ### Public constructors |
|---|
| `<T extends https://developer.android.com/reference/androidx/lifecycle/ViewModel> https://developer.android.com/reference/androidx/lifecycle/viewmodel/ViewModelInitializer#ViewModelInitializer(java.lang.Class,kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras, @https://developer.android.com/reference/androidx/annotation/NonNull T> initializer )` Constructs a new `https://developer.android.com/reference/androidx/lifecycle/viewmodel/ViewModelInitializer` instance. |

## Public constructors

### ViewModelInitializer

```
public <T extends ViewModel> ViewModelInitializer(
    @NonNull Class<@NonNull T> clazz,
    @NonNull Function1<@NonNull CreationExtras, @NonNull T> initializer
)
```

Constructs a new `https://developer.android.com/reference/androidx/lifecycle/viewmodel/ViewModelInitializer` instance.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> clazz` | `https://developer.android.com/reference/androidx/lifecycle/ViewModel` class with which the specified `https://developer.android.com/reference/androidx/lifecycle/viewmodel/ViewModelInitializer#(java.lang.Class,kotlin.Function1)` is to be associated |
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/viewmodel/CreationExtras, @https://developer.android.com/reference/androidx/annotation/NonNull T> initializer` | factory lambda to be associated with the specified `https://developer.android.com/reference/androidx/lifecycle/ViewModel` class |