【发布时间】:2021-04-19 20:04:16
【问题描述】:
我有一个 ViewModel 用 Hilt 构造成这样:
@HiltViewModel
class RegisterViewModel @Inject constructor(
private val savedStateHandle: SavedStateHandle,
private val networkClient: NetworkClient
) : ViewModel() {}
但是当我运行应用程序时,它给了我一个错误:
java.lang.RuntimeException: Cannot create an instance of class com.package_name.RegisterViewModel
at androidx.lifecycle.ViewModelProvider$NewInstanceFactory.create(ViewModelProvider.java:221)
at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.java:278)
at androidx.lifecycle.SavedStateViewModelFactory.create(SavedStateViewModelFactory.java:112)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:185)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:150)
at androidx.lifecycle.ViewModelLazy.getValue(ViewModelProvider.kt:54)
at androidx.lifecycle.ViewModelLazy.getValue(ViewModelProvider.kt:41)
at path_of_project.register.RegisterFragment.getRegisterViewModel(Unknown Source:2)
at path_of_project.ui.auth.register.RegisterFragment.onViewCreated(RegisterFragment.kt:53)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2974)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:543)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
一切似乎都很好。甚至设置:
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-compiler:$hilt_version"
我做错了什么?
【问题讨论】:
标签: android dagger-hilt