【发布时间】:2020-07-02 07:22:13
【问题描述】:
我需要在创建视图模型时传递值(userData),所以我需要创建一个视图模型工厂
这是我的 viewModel,我需要 application 和 userData 来初始化这个 ScoreViewModel
class ScoreViewModel(application: Application, userData: UserKM) : AndroidViewModel(application) {
}
但现在我很困惑如何在创建 viewModel 工厂时传递application
class ScoreViewModelFactory(private val userData: UserKM) : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(ScoreViewModel::class.java)) {
return ScoreViewModel(userData = userData,application = ?????? ) as T
}
throw IllegalArgumentException("Unknown ViewModel class")
}
}
我该怎么办?
【问题讨论】:
标签: android kotlin android-architecture-components android-jetpack android-viewmodel