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")
}
}