@HiltViewModel 注解的类应该包含一个 @Inject 注解的构造函数

Ati*_*sal 15 android dagger-hilt

我不断收到此错误:

public Final class MainViewModel extends androidx.lifecycle.ViewModel { ^ @HiltViewModel 注解的类应该包含一个 @Inject 注解的构造函数。[Hilt] 处理未完成。有关详细信息,请参阅上面的错误。

这是我的 MainViewModel:

@HiltViewModel
class MainViewModel @Inject constructor(
    repository: DefaultRepository
) : ViewModel() {
    val items = repository.getItems().asLiveData()
}
Run Code Online (Sandbox Code Playgroud)

HTM*_*ama 18

当它发生在我身上时,是因为有人从我正在注入的类中删除了注入的构造函数。

它是:

@HiltViewModel
class MyViewModel : ViewModel()
Run Code Online (Sandbox Code Playgroud)

但需要是:

@HiltViewModel
class MyViewModel @Inject constructor() : ViewModel()
Run Code Online (Sandbox Code Playgroud)


hey*_*hey 2

就我而言,我为一些主要构造函数参数指定了默认值。摆脱默认值解决了这个问题。