Reputation:
Anyone tell me how to pass a default value in ViewModelFactory from MainActivity. I'm getting error com.example.viewmodelfactory.MainModelFactory cannot be cast to androidx.lifecycle.ViewModel
class MainModelFactory (val counter: Int): ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return MainModelFactory(counter) as T
}
This is my ViewModelClass
class MainViewModel(val intiallizeCount: Int) :ViewModel () {
var count : Int = intiallizeCount
fun Increment()
{
count++
}
}
I'm passing the default count value in MainActivity
mainViewModel=ViewModelProvider(this, MainModelFactory(10)).get(MainViewModel:: class.java)
Upvotes: 0
Views: 276
Reputation:
ViewModelProvider.Factory returns as a ViewModel object i.e.
return MainViewModel(counter) as T
Upvotes: 0