I want to use it like the official website
val viewModel by viewModels { SavedStateViewModelFactory(application, this) }
Yes, it's much simpler than using ViewModelProvider...
We all know that a ViewModel can be encapsulated in a basefragment, so I want to know how to encapsulate it by by viewmodels
.
I tried to encapsulate basefragment, but I had a problem with generics
just like as follow:
my baseFragment:
abstract class AbsFragment444<DB :ViewDataBinding, VM :ViewModel> :Fragment(){
***//other var
***//other var
***//other var
protected val mViewModel: VM by viewModels(this,SavedStateViewModelFactory(requireActivity().application,this))
}
However, the compiler prompts: cannot use 'VM' as modified type parameter. Use a class instead
What should I do?
question from:
https://stackoverflow.com/questions/65896296/how-to-use-viewmodel-by-ktx 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…