Hilt 多模块无法创建类 ViewModel 的实例

问题描述 投票:0回答:1

我正在通过 Hilt 尝试一种具有多模块和 DI 的新架构,我有以下模块:

  • app:包含 MainActivity(除了保存片段外什么都不做)
  • featureHome:包含 HomeFragment 和 HomeViewModel

当我启动应用程序时,我得到

java.lang.RuntimeException: Cannot create an instance of class HomeViewModel

应用模块

@AndroidEntryPoint
class MainActivity: AppCompatActivity()

FeatureHome

class HomeFragment: Fragment() {
    private val viewModel: HomeViewModel by viewModels()
    ...
}
@HiltViewModel
class HomeViewModel @Inject constructor(): ViewModel {
    ....
}

我不确定该怎么做才能解决这个问题。我的 HomeFragment 也应该有

@AndroidEntryPoint
吗?

android kotlin dagger-hilt multi-module android-multi-module
1个回答
0
投票

您的

Fragment
必须标有注释
@AndroidEntryPoint
以告知 Hilt 在您的 Fragment 中注入实例。 (文档

© www.soinside.com 2019 - 2024. All rights reserved.