2017-07-19 53 views
3

我們使用支持庫v 25.+和新的架構組件v 1.0.0-alpha3保持與片段範圍的ViewModels,我們認識到,在片段範圍的不正確保留的ViewModels:而旋轉屏

class MyFragment : LifecycleFragment() { 

    protected lateinit var viewModel: MyViewModel 

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

視圖模型基本上是重新創建每次應用旋轉。這可以通過更改爲谷歌示例中使用的onActivityCreated來解決。 由於文檔指出要使用onCreate我期望這是一個片段或ViewModelProvider錯誤。

回答

2

與Android團隊協商後,我們想通了,這確實是SupportFragmentManager內的問題,這是在v 26.+解決,使切換到

26.0.0-beta2 

幫助現在的ViewModels保留在onCreate預期。