繁体   English   中英

我如何在 Android Studio 中使用 Hilt for ViewModel() 依赖注入上下文?

[英]How can I dependency injection Context with Hilt for ViewModel() in Android Studio?

我希望通过 Hilt 为 ViewModel 依赖注入 Context,

我已阅读文章,代码 A 基于该文章。

但是我得到如下警告信息,为什么? 我该如何解决?

该字段泄漏上下文 object

顺便说一句,我已经阅读了这篇文章,我的项目是hilt_version = '2.41'

代码A

@HiltViewModel
class SoundViewModel @Inject constructor(
    @ApplicationContext private val mContext: Context,  //It cause  a warning information
    private val aSoundMeter: ISoundMeter  
): ViewModel() {


}

使用AndroidViewModel而不是ViewModel

class SoundViewModel @Inject constructor(
    @ApplicationContext private val mContext: Application,
    private val aSoundMeter: ISoundMeter  
): AndroidViewModel(mContext)

您必须首先遵循官方指南的最新版本。

@HiltViewModel
class ExampleViewModel @Inject constructor(
  private val application: Application,
) : ViewModel() {
  ...
}

或者

@HiltViewModel
class ExampleViewModel @Inject constructor(
  @ApplicationContext private val mContext: Context,
) : ViewModel() {
  ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM