# 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)

*** ** * ** ***

Common/AllAndroid/JVM
- Cmn

  ```
  class ViewModelInitializer<T : ViewModel>
  ```

*** ** * ** ***

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

## Summary

| ### Public constructors |
|---|---|
| `<T : https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel> https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializer#ViewModelInitializer(java.lang.Class,kotlin.Function1)(clazz: https://developer.android.com/reference/java/lang/Class.html<T>, initializer: https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/CreationExtras.() -> T)` Constructs a new `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializer` instance. | android |
| `<T : https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModel> https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializer#ViewModelInitializer(kotlin.reflect.KClass,kotlin.Function1)(clazz: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html<T>, initializer: https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/CreationExtras.() -> T)` | Cmn android |

## Public constructors

### ViewModelInitializer

android

```
<T : ViewModel> ViewModelInitializer(clazz: Class<T>, initializer: CreationExtras.() -> T)
```

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

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

### ViewModelInitializer

Cmn android

```
<T : ViewModel> ViewModelInitializer(clazz: KClass<T>, initializer: CreationExtras.() -> T)
```