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)
}
}
ViewModelFactory
对象并在其中设置条件来实现该目标,以确定是创建新对象还是使用已有对象。 - Jeel Vankhedereset()
函数。 - EpicPandaForce