https://kotlinlang.org logo
Title
m

mg6maciej

05/24/2017, 8:39 PM
:kotlin:otlinize! #inlinereified
inline fun <reified T : ViewModel> FragmentActivity.getViewModel(key: String? = null): T {
    val provider = ViewModelProviders.of(this)
    return if (key != null) {
        provider.get(key, T::class.java)
    } else {
        provider.get(T::class.java)
    }
}
usage:
userViewModel = getViewModel()
instead of:
userViewModel = ViewModelProviders.of(this).get(UserViewModel::class.java)
👍 1
:kotlin: 4
s

stepango

05/25/2017, 5:26 AM
mg6maciej:
return ViewModelProviders.of(this)
.run {key?.let {get(it, T::class.java)} ?: get(T::class.java)}
m

mg6maciej

05/25/2017, 7:27 AM
This does not look
fun
. I'm a stupid person and like my code not to be smarter than me. ;)
s

stepango

05/25/2017, 9:24 AM
Nice one😆