【问题标题】:How to provide Activity in Dagger-Hilt?如何在 Dagger-Hilt 中提供 Activity?
【发布时间】:2021-08-03 13:15:29
【问题描述】:

我正在注入视图模型类的构造函数,该构造函数将 Activity 作为参数以及其他一些参数。但是不能在模块中提供Activity。

【问题讨论】:

  • 如果将ViewModelProvider.FactoryViewModelProvider 一起使用,通过其构造函数将Activity 注入ViewModel 肯定会导致配置更改时发生内存泄漏 - ViewModel 范围可能无法使用@987654325 @ 实例。更不用说它破坏了 MVVM 作为一种架构。
  • 我不确定这是否可能,但我认为你必须改变你的策略,我认为这样做不合适。

标签: android dagger-hilt


【解决方案1】:

我通过添加限定符并提供模块中的活动来做到这一点。类似的,

@Provides
@SomeActivityScope
@Singleton
fun getSomeActivity() : Activity{
    return SomeActivity as Activity
}  

【讨论】:

    猜你喜欢
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多