BaseViewModelFactory

abstract class BaseViewModelFactory<T : BaseViewModel<*>> : 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 ) : BaseViewModelFactory() { override val viewModelClass = FormViewModel::class }

Constructors

Link copied to clipboard
fun BaseViewModelFactory()

Functions

Link copied to clipboard
open override fun <T : ViewModel> create(modelClass: Class<T>): T

Properties

Link copied to clipboard
abstract override val viewModelClass: KClass<T>

ViewModel class definition eg:

Link copied to clipboard
abstract val viewModelProvider: Provider<T>

ViewModel provider definition. Provider is automatically generated when ViewModel constructor has @Inject annotation.