Аргумент не передается с помощью Android Hilt

#android #dependency-injection #android-viewmodel #android-mvvm #dagger-hilt

#Android #внедрение зависимостей #android-viewmodel #android-mvvm #кинжал-рукоять

Вопрос:

У меня есть фрагмент:

 class PingFragment : Fragment(), ViewRenderer<StartingState> {
    private val viewModel: PingFragmentViewModel by viewModels()
 

ViewModel :

 class PingFragmentViewModel @ViewModelInject constructor(private var pingRepository: PingRepository) : ViewModel() {
 

Репозиторий:

 @Module
@InstallIn(ActivityComponent::class)
class PingRepository @Inject constructor(@ActivityContext var context: Context) {
 

Когда я запускаю свое приложение, у меня возникает эта ошибка:

Вызвано: java.lang.Исключение InstantiationException: java.lang.Класс<com.ping.android.fragment.PingFragmentViewModel> не имеет конструктора с нулевым аргументом

Что я могу сделать, чтобы сообщить в Hilt, чтобы передать мой репозиторий в качестве аргумента моей виртуальной машине?

Ответ №1:

Вы забыли добавить @AndroidEntryPoint в свой класс фрагментов