Skip to content

Instantly share code, notes, and snippets.

@tonnylitao
Created April 30, 2020 22:16
Show Gist options
  • Save tonnylitao/024e0e96d34c770d317e7ec5fcf929ac to your computer and use it in GitHub Desktop.
Save tonnylitao/024e0e96d34c770d317e7ec5fcf929ac to your computer and use it in GitHub Desktop.
Copy paste demo
class IntViewModelFactory(val application: Application, val int: Int) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel?> create(modelClass: Class<T>) =
IntViewModel(application, int) as T
}
class StringViewModelFactory(val application: Application, val string: String) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel?> create(modelClass: Class<T>) =
StringViewModel(application, string) as T
}
class IntentViewModelFactory(val application: Application, val intent: Intent) :
ViewModelProvider.NewInstanceFactory() {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel?> create(modelClass: Class<T>) =
IntentViewModel(application, intent) as T
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment