Я постепенно преобразовываю приложение в Kotlin, однако есть один случай, когда у меня возникает ошибка, которую я не могу понять.
Мой Dagger
модуль содержит следующее:
@Provides
@Singleton
@Named("LOADING_FRAGMENTS")
fun providesLoadingFragments(): Array<Fragment> = arrayOf(IntroFragment(), DetailsFragment(), ExitFragment())
Класс в Java, который работает:
public class LoadingActivity extends BaseActivity {
@Inject
@Named("LOADING_FRAGMENTS")
Fragment[] fragments;
...
Преобразованный класс в Kotlin:
class LoadingActivity : BaseActivity() {
@Inject
@Named("LOADING_FRAGMENTS")
lateinit var fragments: Array<Fragment>
Только при преобразовании LoadingActivity
в Kotlin, я получаю следующую ошибку:
error: [Dagger/MissingBinding] androidx.fragment.app.Fragment[] cannot be provided without an @Provides-annotated method.
public abstract interface AppComponent extends dagger.android.AndroidInjector<packagepath.Application> {
^
androidx.fragment.app.Fragment[] is injected at
path.LoadingActivity.fragments
path.LoadingActivity is injected at
dagger.android.AndroidInjector.inject(T) [path.AppComponent ? path.contribute.ActivityContributeModule_ContributeLoadingActivity.LoadingActivitySubcomponent]
Может кто-нибудь помочь мне понять, почему это происходит и как я могу это исправить?