【发布时间】:2020-11-26 03:20:24
【问题描述】:
我正在关注一个 ViewModel 扩展抽象类以使用协程的教程,这是扩展的类:
abstract class BaseViewModel(application: Application) : AndroidViewModel(application), CoroutineScope {
private val job = Job()
override val coroutineContext: CoroutineContext
get() = job + Dispatchers.Main
override fun onCleared() {
super.onCleared()
job.cancel()
}}
这是 ViewModel:
class ViewModel(application: Application) : BaseViewModel(application) {}
所以在 MainActivity 我试图像这样实例化类:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel = ViewModelProvider(this)[ViewModel::class.java]}
在教程中,这个家伙完美地做到了这一点,但是当我尝试运行应用程序时,它抛出了一个异常:
Caused by: java.lang.RuntimeException: Cannot create an instance of class com.name.nameapp.main.viewmodel.ViewModel
我觉得我错过了一些东西,你们可以指出它是什么,如果你需要更多信息,我很乐意发布它
【问题讨论】:
标签: android kotlin mvvm abstract-class instantiation