#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, поэтому я не знаю об ограничениях.