Как внедрить ViewModel в базовые классы, такие как BaseActivity или BaseFragment, с помощью hilt. Андроид котлин

#kotlin #viewmodel #dagger #inject #dagger-hilt

Вопрос:

Я попытался внедрить ViewModel в свою базовую деятельность с помощью hilt

 abstract class BaseActivitylt;VB: ViewBinding, VM: BaseViewModelgt;(val bindingFactory(LayoutInflater) -gt; VB) : AppCompatActivity() {   private val viewModel: VM by viewModelslt;gt;()  lateinit var binding: VB }  

но здесь я получаю ошибку в функции ViewModels() как «Делегат свойства должен иметь метод ‘GetValue(BaseActivity , KProperty*gt;)’. Ни одна из следующих функций не подходит».

как мне внедрить ViewModel в базовые классы с помощью hilt, или можно ли использовать базовые классы с помощью hilt?

Комментарии:

1. Почему бы вам не использовать привязки и модели просмотра в действии, как будто без эфеса? Одним из основных преимуществ Hilt является использование встроенного создания экземпляров Android в качестве основы для внедрения в такие вещи, как модели просмотра

2. Поскольку у меня есть несколько действий и фрагментов, я намерен использовать базовые классы для уменьшения избыточности, раньше я использовал эту архитектуру с dagger. Это моя первая сборка с использованием hilt, поэтому я не знаю об ограничениях.