Skip to content

Instantly share code, notes, and snippets.

@RoryKelly
Last active February 9, 2018 10:03
Show Gist options
  • Save RoryKelly/659b0f88f368e5c707551147e8949566 to your computer and use it in GitHub Desktop.
Save RoryKelly/659b0f88f368e5c707551147e8949566 to your computer and use it in GitHub Desktop.
Utility for creating view models.
import android.arch.lifecycle.ViewModel
import android.arch.lifecycle.ViewModelProviders
import android.support.v4.app.FragmentActivity
import kotlin.reflect.KClass
class MainActivity : AppCompatActivity() {
val viewModel by bindViewModel(this, MainViewModel::class)
override fun onCreate(savedInstanceState: Bundle?) {
AndroidInjection.inject(this)
super.onCreate(savedInstanceState)
}
}
fun <T : ViewModel, S : FragmentActivity> bindViewModel(to: S, modelClass: KClass<T>) =
lazy { ViewModelProviders.of(to).get(modelClass.java) }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment