報錯如下
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.MainActivity}
: java.lang.RuntimeException: Cannot create an instance of class com.xxx.xxx.viewmodel.MainActivityViewModel
Caused by: java.lang.RuntimeException:
Cannot create an instance of class com.xxx.xxx.viewmodel.MainActivityViewModel
最后解決:因為我的BaseViewModel是繼承AndroidViewModel,需要Application類型的參數(shù),所以圖二中自己寫的viewModel的入?yún)㈩愋捅仨毷茿pplication類型,不能寫成自己繼承實現(xiàn)的

image.png

image.png
//實例化方法
ViewModelProvider(this,ViewModelProvider.AndroidViewModelFactory(application))
.get(MainActivityViewModel::class.java)
最后我用的庫版本如下:
api 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0'