Попытка создать ViewModel в модуле динамических функций с private val viewModel: PostDetailViewModel by viewModels()
во фрагменте
class PostDetailFragment : DynamicNavigationFragment<FragmentPostDetailBinding>() {
private val viewModel: PostDetailViewModel by viewModels()
override fun getLayoutRes(): Int = R.layout.fragment_post_detail
override fun bindViews() {
// Get Post from navigation component arguments
val post = arguments?.get("post") as Post
dataBinding.item = post
viewModel.updatePostStatus(post)
}
override fun onCreate(savedInstanceState: Bundle?) {
initCoreDependentInjection()
super.onCreate(savedInstanceState)
}
private fun initCoreDependentInjection() {
val coreModuleDependencies = EntryPointAccessors.fromApplication(
requireActivity().applicationContext,
DomainModuleDependencies::class.java
)
DaggerPostDetailComponent.factory().create(
coreModuleDependencies,
requireActivity().application
)
.inject(this)
}
}
ошибка результатов
Caused by: java.lang.InstantiationException: java.lang.Class<com.x.post_detail.PostDetailViewModel> has no zero argument constructor
он работает в любом фрагменте модуля приложения, но не работает в модулях динамических функций. Как правильно добавлять ViewModels в модули динамических функций? Должен ли я создавать модели ViewModels в модуле приложения с помощью ViewModelFactory и получать их из модуля приложения?
by viewModels
в функциональном модуле. Я вижу, чтоViewModel
создается внутри Activity, в модуле динамических функций или модуле приложения? Потому что мне не удалось создать ViewModel во фрагменте в модуле динамических функций. - person Thracian   schedule 31.08.2020