我有视图模型
@HiltViewModel
class WControlViewModel @Inject constructor(
private val getProfile: GetProfile,
private val getHistory: GetHistory,
) : ViewModel() {...}
活动
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
private val vModel: WControlViewModel by viewModels()
申请
@HiltAndroidApp
类 WControlApp :Application()
但项目未构建,错误:
return DefaultViewModelFactories.getActivityFactory(this);
^
required: ComponentActivity,Factory
found: Hilt_MainActivity
reason: actual and formal argument lists differ in length
答案 0 :(得分:3)
我遇到了同样的问题,我通过确保 hilt 插件版本升级解决了这个问题。就我而言,我从 2.33-beta 升级到 2.35.1
所以在你项目的根 build.gradle 文件中的依赖项
classpath "com.google.dagger:hilt-android-gradle-plugin:2.35.1"
您可以在此处找到最新版本号:https://mvnrepository.com/artifact/com.google.dagger/hilt-android-gradle-plugin
答案 1 :(得分:1)
我遇到了同样的问题,所以我更改了我的项目级别依赖项和应用级别依赖项。
试试这个
在应用级 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"
快乐编码!!