4

我们正在使用支持库v 25.+和新的架构组件v 1.0.0-alpha3,并且我们认识到片段范围的 ViewModel 没有正确保留:

class MyFragment : LifecycleFragment() {

    protected lateinit var viewModel: MyViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        viewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)
    }
}  

viewModel 基本上在应用程序每次旋转时都会重新创建。这可以通过更改onActivityCreated为在谷歌示例中使用来解决。由于文档指出要使用,onCreate我希望这是一个片段或ViewModelProvider错误。

4

1 回答 1

2

在与 Android 团队协商后,我们发现这确实是SupportFragmentManager其中的一个问题,v 26.+因此切换到

26.0.0-beta2

帮助,现在 ViewModelsonCreate按预期保留。

于 2017-07-19T08:29:52.177 回答