ViewModelProviders被弃用了,该怎么获取ViewModel?

首发于本人博客:keysking瞎写的东西
最近又有项目需要写安卓程序,决定使用Kotlin和Jetpack,但是在使用ViewModelProviders获取viewModel的时候却发现了问题.

ViewModelProviders被弃用了!

ViewModelProviders被弃用了,该怎么获取ViewModel?_第1张图片

而且是在本文书写时的最新版本2.2.0被弃用的!因为刚刚弃用网上没发现几个相关讨论,甚至官网文档上还依旧是使用ViewModelProviders.

ViewModelProviders被弃用了,该怎么获取ViewModel?_第2张图片

…强迫症之必须使用最新版本爆发,必须解决!

功夫不负有心人,在androidx的更新文档里找到了玄机(竟然还提供中文更新文档,太良心了)

ViewModelProviders被弃用了,该怎么获取ViewModel?_第3张图片

所以,问题解决!

class MainActivity : AppCompatActivity() {
    private lateinit var myViewModel: MyViewModel
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        myViewModel = ViewModelProvider(this)[MyViewModel::class.java] // 关键代码
    }
}

你可能感兴趣的:(兵来将挡)