最近我将匕首柄中的ViewModelInject
迁移到@HiltViewModel
,因为我得到了这样的错误。
java. lang.RuntimeException:无法创建类的实例io.chativo.chat.viewmodel.TicketViewModel
原始代码
class TicketViewModel @ViewModelInject constructor(
private val ticketRepository: TicketRepository
): ViewModel() {
.....
}
更新代码
@HiltViewModel
class TicketViewModel @Inject constructor(
private val ticketRepository: TicketRepository
): ViewModel() {
原始代码运行良好,但在我迁移到@HiltViewModel
后,我一直收到无法创建类ViewModel
的实例错误。知道为什么会发生这种情况吗?
build. gradle(应用程序)
apply plugin: 'dagger.hilt.android.plugin'
// dagger - hilt (dependency injection)
implementation 'com.google.dagger:hilt-android:2.31-alpha'
kapt "com.google.dagger:hilt-android-compiler:2.29.1-alpha"
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
kapt 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha03'
build. gradle
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.29.1-alpha'
最后,我自己得到了正确的解决方案。编译器版本应该与其库版本相同。
// dagger - hilt (dependency injection)
implementation 'com.google.dagger:hilt-android:2.31-alpha'
kapt "com.google.dagger:hilt-android-compiler:2.31.1-alpha"
希望这能帮助那些努力寻找答案的人。