簡體   English   中英

從 MVVM 架構中的 ViewModel 更改片段

[英]Change fragment from ViewModel in MVVM architecture

我正在開發一個用於實踐 MVVM 架構和 SQLite 數據庫的議程應用程序,但我需要從片段內部更改片段。 所以對於 calendarFragment 我創建了這個 viewModel 但我不能在沒有 MainActivity 上下文的情況下使用 .supportFragmentManager 方法。 我怎么解決這個問題 ?


class calendarFragmentViewModel(application: Application) : AndroidViewModel(application) {

    fun fragmentChanger(fragment : Fragment, context: Context?) {
        var transaction = (context as MainActivity).supportFragmentManager.beginTransaction()
            transaction.replace(com.cagataysencan.agendea.R.id.frameLayout,fragment)
            transaction.commit()
        }
    }

為此,您可以將 LiveData 與 ViewModel 一起使用。

從您的 Fragment 觀察 LiveData,一旦 LiveData 提供更新,我們將在 Fragment 中獲取它。 在回調中,您可以從觀察片段啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM