我想在其視圖中使用動態創建的片段進行單個活動。 我有一個ActivityViewModel和一個FragmentViewModel和匹配的視圖和佈局(ActivityView有一個FrameLayout主機片段)。該片段通過在ActivityViewModel.Start方法內調用ShowViewModel <>來顯示。 我正在使用如http://enginecore.blogspot.ro/2013/06/more-dynamic-android-fragments-with.html中所述的CustomePresenter。片段和視圖模型
它從冷啓動和恢復後正常工作。但是,在活動被破壞之後它將不起作用。
這是發生在這種有問題的情況下的序列: 活動已創建,Mvx找到一個緩存的ViewModel並將其附加到活動。由於ViewModel被緩存,它不會觸發Start方法(這觸發了創建分段)。沒關係。但是在下一步中,Android會重新創建這個片段,但它不會獲得與其關聯的ViewModel,因爲無論CustomPresenter(在創建片段時都會照顧它)或MvxFragment.OnCreate都不會創建它 - 就像MvxActivity機制一樣。因此我得到一個ViewModel-less片段。
所以我想知道,如果MvxFragemnt創建像MvxActivity一樣創建自己的ViewModel時不應該好嗎?此外,它應該處理Save,Resume(調用相鄰的ViewModel的方法)。 或者我正在處理這個錯誤的方式或缺少的東西。
請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(與另一個引用的中途停留時間相比,這些引用往往會隨着時間推移而變得過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra