android - Dagger-Hilt:为什么我们必须注释没有注入的活动
问题描述
为什么我们必须对包含片段的活动进行注释呢?
Activity 没有 @Inject 但片段需要一些依赖项。我将片段注释为@AndroidEntryPoint
但崩溃,直到在父活动上设置它。
解决方案
没有 Activity 就无法启动 Fragment。你必须注释你的活动,@AndroidEntryPoint
因为你的片段现在是一个 HiltComponent。当您不使用@AndroidEntryPoint
Hilt 注释 Activity 时,不会为此 Activity 创建组件,因此无法启动片段,因为它还没有创建 ActivtyComponent。
Hilt 活动需要附加到 Hilt 应用程序。Hilt 片段必须附加到 Hilt 活动。
见这里:https ://dagger.dev/hilt/migration-guide (2.迁移活动和片段)
推荐阅读
- php - 如何更改按钮的标题(kartik FileInput 小部件)
- azure - 使用 ADF 复制活动映射使用变量编写动态列名的最简单方法是什么?
- unit-testing - redux saga 测试取消(任务):参数 [object Object] 不是有效的 Task 对象
- python - 在数据框中分组后如何保持该行空间?
- sql - 如何仅获取具有重复 ID 且具有特定列值的行
- python - 一步显示 df.info(), df.head(), df.shape, df.dtypes
- dataframe - 在 Julia 中扩展 DataFrame 的有效方法
- laravel - 反馈未设置为真
- flutter - 如何在颤动 onchangedlocation.listen 上更改 int 间隔设置
- selenium - 需要使用黄瓜cli生成黄瓜报告