DJ
Thank you for the article, it was very helpful for me! If just want to mention I had to remove "?" on line "override fun <T : ViewModel?> create(modelClass: Class<T>): T {" in order to remove a "'create' overrides nothing" error class MyAndroidViewModelFactory( private val app: Application, private val repository: Repository) : ViewModelProvider.AndroidViewModelFactory(app) { override fun <T : ViewModel> create(modelClass: Class<T>): T { if (modelClass.isAssignableFrom( MyAndroidViewModel::class.java)) { return MyAndroidViewModel(app, repository) as T } throw IllegalArgumentException("Unknown ViewModel class") } }