Я пытаюсь создать приложение со следующей архитектурой: LoginActivity -> MainActivity -> все остальное обрабатывается во фрагментах, размещенных в MainActivity. Я также впервые использую Kodein Framework и получаю следующую ошибку в моем начальном фрагменте:
У делегата свойства должен быть метод 'provideDelegate (HomeFragment, KProperty *>'. Ни один из Подходят следующие функции: provideDelegate (Context [выделено красным], KProperty <<em>>?), определенный в org.kodein.di. android .KodeinPropertyDelegateProvider Тип «KodeinPropertyDelegateProvider» не имеет метода getValue (HomeFragment, KProperty <</em>>) 'и, таким образом, он не может служить делегатом
Пока это мой код:
class HomeFragment : Fragment(), KodeinAware {
override val kodein by kodein()
private val factory : MainViewModelFactory by instance()
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val binding : FragmentHomeBinding = FragmentHomeBinding.inflate(inflater, container, false)
viewModel = ViewModelProviders.of(this, factory).get(MainViewModel::class.java)
binding.viewModel = viewModel
return binding.root
}
}
Как я могу это исправить ?
Спасибо:)