[英]Android ViewModel - how to force recreation on certain configuration changes
ViewModel的目的是保留有關生命周期事件和配置更改的數據。
但是對於某些配置更改,例如locale change ,我想獲得一個新的 viewModel 實例。 我怎樣才能強迫娛樂?
class HomeActivity : AppCompatActivity() {
var viewModelFactory: ViewModelProvider.Factory
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// How to get new instance on locale change?
var viewModel = ViewModelProviders.of(this, viewModelFactory)
.get(HomeViewModel::class.java)
}
}
回答我自己的問題:)
我有機會在 Google I/O 2019 上與 Yigit Boyar(架構組件負責人)交談。
他確認不可能故意在 ViewModel 上強制重新創建。 正確的解決方案是觀察變化並采取行動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.