Android ViewModel-如何在某些配置更改时强制重新创建


ViewModel的目的是保留生命周期事件和配置更改的数据。

但对于某些配置更改,如区域设置更改,我希望获得一个新的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)
}
}

回答我自己的问题:(

我有机会与Yigit Boyar(架构组件负责人(就谷歌I/O 2019进行了交谈。
他确认故意不可能在ViewModel上强制娱乐。正确的解决方案是观察变化并采取行动。

相关内容

  • 没有找到相关文章

最新更新