[英]Constructor injection is not working in kotlin class
我已經將我的Dagger模塊,組件和類轉換為Kotlin。 在Model類中使用構造函數注入時,遇到以下錯誤:
java.lang.IllegalStateException: dataManager.appSettings must not be null
這是我的模塊類:
@Module
class BaseModule {
@Provides
fun provideBaseViewModel(application: Application, dataManager: DataManager, serviceConnector: ServiceConnector, compositeDisposable: CompositeDisposable): BaseModel {
return BaseModel(application, dataManager, serviceConnector, compositeDisposable)
}
}
這是我的具有構造函數注入的Model類:
class BaseModel @Inject constructor(application: Application, dataManager: DataManager,compositeDisposable: CompositeDisposable) : BaseViewModel(application, dataManager, compositeDisposable) {
val appSettings: AppSettings
get() = dataManager.appSettings
}
這是組件類:
@Component(modules = [BaseModule::class])
interface BaseComponent {
fun inject(activity: BaseActivity)
}
dataManager.appSettings
是否為可空類型?
如果是,則可以使AppSettings
可為空,如下所示:
val appSettings: AppSettings?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.