viewModelを取得する際に、下記のように記述していましたが、いつの間にか非推奨になっていました。。。
情報が少なくて置き換える際にハマったのでメモです。
private val mViewModel: HogeViewModel by lazy {
ViewModelProviders.of(this).get(HogeViewModel::class.java)
}
対処方法1:ViewModelの場合
これでいいようです。
private val mViewModel: HogeViewModel by lazy {
ViewModelProvider(
this,
ViewModelProvider.NewInstanceFactory()
).get(HogeViewModel::class.java)
}
対処方法2:AndroidViewModelの場合
使用していたのがAndroidViewModelだったので、上記の方法ではエラー(java.lang.RuntimeException: Cannot create an instance of class)になってハマりました。
private val mViewModel: HogeViewModel by lazy {
ViewModelProvider(
this,
ViewModelProvider.AndroidViewModelFactory(application)
).get(HogeViewModel::class.java)
}
これで動くようになりました。
googleさんのスピードについていけない。