在旋转屏幕时保留带有片段范围的ViewModels

时间:2017-07-19 08:29:52

标签: android kotlin android-architecture-components

我们正在使用支持库v 1.0.0-alpha3和新的架构组件class MyFragment : LifecycleFragment() { protected lateinit var viewModel: MyViewModel override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) viewModel = ViewModelProviders.of(this).get(MyViewModel::class.java) } } ,我们发现没有正确保留Fragment作用域的ViewModel:

onActivityCreated

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

1 个答案:

答案 0 :(得分:2)

在咨询Android团队后,我们发现v 26.+确实存在问题,26.0.0-beta2 解决了这个问题,因此切换到

onCreate

帮助,现在ViewModel按预期保留在xls_file = pd.ExcelFile(xls_file_path) df = xls_file.parse('16')