用参数Dagger 2将ViewModel注入片段

时间:2019-12-17 20:44:46

标签: android viewmodel dagger

我试图使用一个工厂来创建带有构造函数参数的ViewModels。 我遵循@matejdro公开的匕首问题之一的建议 https://github.com/google/dagger/issues/1273

但是注射无效。

我收到一个错误:“错误:[Dagger / MissingBinding] kotlin。没有@Provides注释的方法就无法提供Lazy。”

任何想法如何解决该问题? 我将创建的项目上传到github:https://github.com/davida5/daggerViewModelBestPractice

1 个答案:

答案 0 :(得分:1)

这很简单,您应该使用dagger.Lazy(包括导入)而不是kotlin.Lazy

一旦解决,您将遇到另一个问题; AFAIK,如果没有相应的合格提供者,就不能使用合格的依赖项。您有一个合格的UserManager实例被注入到AccountsViewModel中。添加合格的提供者方法或从AccountsViewModel中除去合格条件。