我收到此错误 "com.example.viewmodelfactory.MainModelFactory cannot be cast to androidx.lifecycle.ViewModel "
I'm getting this error "com.example.viewmodelfactory.MainModelFactory cannot be cast to androidx.lifecycle.ViewModel "
谁能告诉我如何从 MainActivity 传递 ViewModelFactory 中的默认值。我遇到错误 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
}
这是我的 ViewModelClass
class MainViewModel(val intiallizeCount: Int) :ViewModel () {
var count : Int = intiallizeCount
fun Increment()
{
count++
}
}
我在 MainActivity 中传递默认计数值
mainViewModel=ViewModelProvider(this, MainModelFactory(10)).get(MainViewModel:: class.java)
ViewModelProvider.Factory returns 作为 ViewModel 对象,即
return MainViewModel(counter) as T
谁能告诉我如何从 MainActivity 传递 ViewModelFactory 中的默认值。我遇到错误 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
}
这是我的 ViewModelClass
class MainViewModel(val intiallizeCount: Int) :ViewModel () {
var count : Int = intiallizeCount
fun Increment()
{
count++
}
}
我在 MainActivity 中传递默认计数值
mainViewModel=ViewModelProvider(this, MainModelFactory(10)).get(MainViewModel:: class.java)
ViewModelProvider.Factory returns 作为 ViewModel 对象,即
return MainViewModel(counter) as T