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

时间:2018-11-26 08:53:07

标签: android android-jetpack android-viewmodel android-architecture-components

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)
    }
}

1 个答案:

答案 0 :(得分:1)

回答我自己的问题:)

我可以在Google I / O 2019上与Yigit Boyar(架构组件负责人)进行交流。
他确认有意不可能强制在ViewModel上进行娱乐。正确的解决方案是观察变化并采取措施。