[Android Studio->新建项目->选择“制签的活动”。
将生命周期扩展从2.1.0升级到2.2.0-alpha05后,不推荐使用ViewModelProviders。在简单的情况下,它可以由“ by viewModels()”替换例如:
plHlFrModel = ViewModelProviders.of(this).get(PlHlFrModel::class.java)
替换为:
private val plHlFrModel by viewModels<PlHlFrModel>()
但是我不知道如何替换这个:
pageViewModel = ViewModelProviders.of(this)
.get(PageViewModel::class.java).apply {
setIndex(arguments?.getInt(ARG_SECTION_NUMBER) ?: 1)
}
“在何处以及如何放置apply {}”块以“ by viewModel”形式出现?也许还有另一种方法?
ViewModelProviers
被淘汰,我们只使用ViewModelProvider。
pageViewModel = ViewModelProvider(this)
.get(PageViewModel::class.java).apply {
setIndex(arguments?.getInt(ARG_SECTION_NUMBER) ?: 1)
}
private val pageViewModel by viewModels<PageViewModel>()
//function scope
pageViewModel.setIndex(arguments?.getInt(ARG_SECTION_NUMBER) ?: 1)
代替使用ViewModelProviders.of(this)
使用ViewModelProvider(This)