【Android,Kotlin】ViewModelProviders‘ is deprecated. Deprecated in Java
ViewModelProviders’ is deprecated. Deprecated in Java,关于ViewModelProviders在新版本弃用的问题
今天在使用lazy懒加载获取PlaceViewModel实例的时候,竟然发现ViewModelProviders被官方弃用了,好家伙,如下图
看来这么写是不行了,有没有替代的解决方案呢
翻阅网上的内容还是采用掉包的方式拉回弃用的包,或者以new的形式,显然是不适用的
val viewModel by lazy { ViewModelProviders.of(this).get(PlaceViewModel::class.java) }
直到我找到了这篇帖子
- 帖子传送门stack overflow:Kotlin does not understand ViewModelProviders.of(activity ?: fragment)
- 如果你正在使用Androidx,所以应该添加两条线的生命周期:
解决方案
- get it!
//原语句
val viewModel by lazy { ViewModelProviders.of(this).get(PlaceViewModel::class.java) }
改为
val viewModel1 by lazy { ViewModelProvider(this).get(PlaceViewModel::class.java) }
还没有评论,来说两句吧...