scottiedog45
05/22/2019, 5:15 PMfun <T : ViewModel, A> singleArgViewModelFactory(constructor: (A) -> T):
(A) -> ViewModelProvider.NewInstanceFactory {
return { arg: A ->
object : ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun <V : ViewModel> create(modelClass: Class<V>): V {
return constructor(arg) as V
}
}
}
}
Ruckus
05/22/2019, 5:17 PMfun <T: ViewModel, A> ...
T
, which must be subtype of ViewModel
, and A
, which can be anything.Paul Caswell
05/23/2019, 5:02 AM