繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM