簡體   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