#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
в свой класс фрагментов