0

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)
Hooman
  • 114
  • 1
  • 1
  • 12

1 Answers1

0

ViewModelProvider.Factory returns as a ViewModel object i.e.

return MainViewModel(counter) as T