【问题标题】:Hilt Android ViewModel has no zero argument constructorHilt Android ViewModel 没有零参数构造函数
【发布时间】: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


    【解决方案1】:

    在这种情况下。确保不要忘记用@AndroidEntryPoint 注释FragmentActivity

    @AndroidEntryPoint
    class RegisterFragment : Fragment(R.layout.fragment_register) {}
    

    如果不是这样,请参阅here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多