簡體   English   中英

構造函數注入不適用於Kotlin類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM