Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 旋转屏幕时保留具有片段范围的ViewModels_Android_Kotlin_Android Architecture Components - Fatal编程技术网

Android 旋转屏幕时保留具有片段范围的ViewModels

Android 旋转屏幕时保留具有片段范围的ViewModels,android,kotlin,android-architecture-components,Android,Kotlin,Android Architecture Components,我们正在使用support libsv25.+和新的体系结构组件v1.0.0-alpha3,我们认识到片段范围的视图模型没有正确保留: class MyFragment : LifecycleFragment() { protected lateinit var viewModel: MyViewModel override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInst

我们正在使用support libs
v25.+
和新的体系结构组件
v1.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)
    }
}  
每次应用程序旋转时,基本上都会重新创建viewModel。这可以通过更改为google示例中使用的ActivityCreated来解决。
由于文档指出使用
onCreate
我认为这是一个片段或
ViewModelProvider
错误。

在咨询Android团队后,我们发现这确实是
SupportFragmentManager
中的一个问题,该问题在
v26.+
中解决,因此切换到

26.0.0-beta2
helped和now ViewModels按预期保留在
onCreate