Dagger Hilt Android gives Error : method getActivityFactory in class DefaultViewModelFactories cannot be applied to given types
Dagger Hilt Android gives Error : method getActivityFactory in class DefaultViewModelFactories cannot be applied to given types
我正在做一个项目,我已经实现了 Dagger Hilt + Retrofit + Coroutine。
但是在新更新了匕首柄的依赖项之后,该项目无法运行。
我在使用依赖注入实现 Dagger 和 Viewmodels 的活动和片段中收到此错误。在依赖更新之前,它工作正常。
这是相同的屏幕截图:
这是由 Dagger 创建的 class 并且有错误:
如果有人遇到过同样的问题。我不知道我做错了什么。
我已遵循 this 教程。本教程对我来说也很好用,但是更新依赖项后出现上述错误。
好的,我知道是什么问题了。
问题出在匕首柄的官方文档中here
请参阅下面该文档的屏幕截图。
问题出在文档的代码中。他们为什么不更新他们的官方文档真的很令人沮丧!!!顺其自然吧......
我们必须改变
来自
@HiltViewModel
class MyViewModel @Inject constructor(
private val mainRepository: MainRepository
) : ViewModel() {
到
@HiltViewModel
class MyViewModel @Inject constructor(
private val mainRepository: MainRepository
) : ViewModel(), LifecycleObserver {
他们错过了 LifecycleObserver
,因此,我遇到了错误。
不仅如此,
您还应该注意,以下依赖项的版本也应该相同。
在应用级别 Gradle:
implementation "com.google.dagger:hilt-android:2.35.1"
kapt "com.google.dagger:hilt-android-compiler:2.35.1"
在项目级别 Gradle:
classpath "com.google.dagger:hilt-android-gradle-plugin:2.35.1"
项目级别和模块级别的依赖版本必须相同。
我正在做一个项目,我已经实现了 Dagger Hilt + Retrofit + Coroutine。
但是在新更新了匕首柄的依赖项之后,该项目无法运行。
我在使用依赖注入实现 Dagger 和 Viewmodels 的活动和片段中收到此错误。在依赖更新之前,它工作正常。
这是相同的屏幕截图:
这是由 Dagger 创建的 class 并且有错误:
如果有人遇到过同样的问题。我不知道我做错了什么。 我已遵循 this 教程。本教程对我来说也很好用,但是更新依赖项后出现上述错误。
好的,我知道是什么问题了。
问题出在匕首柄的官方文档中here
请参阅下面该文档的屏幕截图。
问题出在文档的代码中。他们为什么不更新他们的官方文档真的很令人沮丧!!!顺其自然吧......
我们必须改变
来自
@HiltViewModel
class MyViewModel @Inject constructor(
private val mainRepository: MainRepository
) : ViewModel() {
到
@HiltViewModel
class MyViewModel @Inject constructor(
private val mainRepository: MainRepository
) : ViewModel(), LifecycleObserver {
他们错过了 LifecycleObserver
,因此,我遇到了错误。
不仅如此,
您还应该注意,以下依赖项的版本也应该相同。
在应用级别 Gradle:
implementation "com.google.dagger:hilt-android:2.35.1"
kapt "com.google.dagger:hilt-android-compiler:2.35.1"
在项目级别 Gradle:
classpath "com.google.dagger:hilt-android-gradle-plugin:2.35.1"
项目级别和模块级别的依赖版本必须相同。