Mark
08/10/2023, 2:07 PMViewModel
in Koin:
class FooFragment : Fragment() {
val activityViewModel: BarViewModel by activityViewModel()
val fragmentViewModel by viewModels<FooViewModel>(
factoryProducer = {
object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T =
FooViewModel(
provider = activityViewModel.createSomeProvider(),
savedStateHandle = extras.createSavedStateHandle(),
) as T
}
}
)
}
Mark
08/13/2023, 3:51 PMarnaud.giuliani
08/29/2023, 12:11 PMMark
09/04/2023, 2:40 PM= get()
for the savedStateHandle
(i.e. no need to use factory in order to obtain extras) and, yes, the provider can use parameter injection. Thanks!Mark
09/04/2023, 2:49 PMarnaud.giuliani
09/06/2023, 2:07 PM