IS
Size: a a a
IS
IS
IG
IS
IG
Unable to instantiate application com.merseyside.partyapp.CalcApplication: java.lang.IllegalAccessException: void com.merseyside.partyapp.CalcApplication.<init>() is not accessible from java.lang.Class<android.app.AppComponentFactory>
IS
IS
IG
IS
IG
IS
IG
IS
I
@Provides
fun createViewModel(
fragment: UpdateFragment,
viewModel: Provider<UpdateFragmentViewModel>
): IUpdateFragmentViewModel {
return ViewModelProviders.of(fragment, object : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return viewModel.get() as T
}
}).get(UpdateFragmentViewModel::class.java) все работает, но ViewModelProvider is deprecated, пытался переделать вот так ViewModelProvider.NewInstanceFactory().create(UpdateFragmentViewModel::class.java) не работает, можно ещё так сделать @Binds
abstract fun createViewModel(vm: UpdateFragmentViewModel): IUpdateFragmentViewModel и все работает, почему собственно не работает второй метод и является ли третий метод корректным?