【发布时间】:2019-08-29 09:39:11
【问题描述】:
我在 Kotlin 中使用 Dagger 2。我已经通过以下方式提供了 viewmodel(CarViewModel) 注入。到处都写着它必须通过 ViewModelFactory 注入来完成。我想问一下我直接注入viewmodel的方式是否正确?这是我的 AppModule:
@Module
class AppModule {
@Provides
@Singleton
fun getContext(application: Application): Context = application.applicationContext
@Provides
@Singleton
fun getDb(context: Context): MyDatabase = MyDatabase.getInstance(context)
@Provides
fun injectViewModel(application: Application): CarViewModel=
ViewModelProvider.AndroidViewModelFactory.getInstance(application).create(CarViewModel::class.java)
}
比注入活动:
@Inject
lateinit var carViewModel: CarViewModel
【问题讨论】:
标签: android kotlin dependency-injection viewmodel dagger-2