-
- All Implemented Interfaces:
-
androidx.lifecycle.ViewModelProvider.Factory,app.futured.arkitekt.dagger.factory.ViewModelFactory
public abstract class BaseViewModelFactory<T extends BaseViewModel<?>> implements ViewModelFactory<T>
Base class for creating instances of ViewModel. Instance of this factory is required to be available in Activity/Fragment for automatic ViewModel instance creation. Factory might be automatically generated and should look like this:
class FormViewModelFactory @Inject constructor( override val viewModelProvider: Provider<FormViewModel> ) : BaseViewModelFactory<FormViewModel>() { override val viewModelClass = FormViewModel::class }
-
-
Field Summary
Fields Modifier and Type Field Description private final Provider<T>viewModelProviderprivate final KClass<T>viewModelClass
-
Constructor Summary
Constructors Constructor Description BaseViewModelFactory()
-
Method Summary
Modifier and Type Method Description abstract Provider<T>getViewModelProvider()ViewModel provider definition. abstract KClass<T>getViewModelClass()ViewModel class definition eg: override val viewModelClass = FormViewModel::class<T extends ViewModel> Tcreate(Class<T> modelClass)-
-
Method Detail
-
getViewModelProvider
abstract Provider<T> getViewModelProvider()
ViewModel provider definition. Provider<VM> is automatically generated when ViewModel constructor has @Inject annotation.
-
getViewModelClass
abstract KClass<T> getViewModelClass()
ViewModel class definition eg:
override val viewModelClass = FormViewModel::class
-
-
-
-