Tsudzukeru
@Tsudzukeru

Почему не создаётся компонент Dagger, при написании интерфейса на Kotlin?

Практикуюсь в использовании Dagger 2 в Android.
Пометил один из фрагментов @Inject

class PreviewMediaFragment @Inject constructor() : Fragment() {
......
}


Создаю интерфейс компонента на Java
@Component
public interface AppComponent {
    public PreviewMediaFragment getFragment();
}


Всё работает и теперь я могу получить компонент в Application
class BaseApplication : Application() {

    lateinit var appcomponent: AppComponent

    override fun onCreate() {
        super.onCreate()
        appcomponent = DaggerAppComponent.create()
    }
}


Но почему если я создаю интерфейс компонента на Kotlin, то не генерится DaggerAppComponent?
Создаю компонент вот так:
@Component
interface AppComponent {
    fun getFragment():PreviewMediaFragment
}
  • Вопрос задан
  • 392 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Чтобы сгенерился код, нужно запустить kapt.
Не относится к вопросу, но инжект в конструктор фрагмента это очень плохая затея. Конструктор фрагментов должен быть пустым, и поэтому его проще руками вызывать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы