Инъектор конструктора не работает в классе kotlin - PullRequest
0 голосов
/ 23 января 2019

Я преобразовал свой модуль, компонент и классы кинжалов в 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)
    }
}

Вот мой класс модели, в котором есть инжектор конструктора:

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)
}

1 Ответ

0 голосов
/ 23 января 2019

Является ли dataManager.appSettings обнуляемым типом?

Если да, вы можете сделать AppSettings обнуляемым, например:

val appSettings: AppSettings?
...