Rip*_*ion 5 android mvvm viewmodel kotlin dagger-2
想知道有人会如何处理这个。
我有一个具有相应视图模型的片段。该视图模型在其构造函数中有一个注入的 repo。但是,当使用“by viewModels()”在我的片段中创建视图模型实例时,出现错误。
例子:
@Singleton
class MyViewModel @Inject constructor(val someRepo: SomeRepo) : ViewModel() { ... }
class MyFragment : BaseFragment(), Injectable {
val myViewModel: MyViewModel by viewModels()
...
}
Run Code Online (Sandbox Code Playgroud)
Error: java.lang.RuntimeException: Cannot create an instance of class com.example.MVVM.ViewModel.MyViewModel
Run Code Online (Sandbox Code Playgroud)
有没有人在不创建自己的 viewModelFactory 的情况下使用它?
您需要做几件事才能将内容注入视图模型:
by viewModels { theInjectedFactory}许多关于 SO 的文章或答案中都描述了所有步骤 1-3 ,请检查例如:
PS:正如 EpicPandaForce 提到的,您不应该将您的视图模型标记为 @Singleton
| 归档时间: |
|
| 查看次数: |
3855 次 |
| 最近记录: |