[英]When should the fragment view model be created?
我一直在片段的onCreate
方法中創建視圖 model。 我還看到其他一些開發人員在onCreateView
方法中創建視圖 model。 但是今天我使用 Android Studio 模板作為“帶有 ViewModel 的片段”,並且視圖 model 是在onActivityCreated
方法中創建的。 哪種方法是正確的? 如果 Android Studio 模板在onActivityCreated
中執行此操作,那么這肯定是有原因的。 任何人都可以在這里闡明正確的方法嗎?
如果 Android Studio 模板在 onActivityCreated 中執行此操作,那么這肯定是有原因的。
猜猜模板的創建者錯過了onActivityCreated
將被棄用的備忘錄。
我一直在片段的 onCreate 方法中創建視圖 model。 我還看到其他一些開發人員在 onCreateView 方法中創建視圖 model。
從理論上講,您應該在onCreate
中創建它,但由於 NavHostFragment 如何與常規 Fragment 共享相同的onCreate
調度,當您使用具有 SavedStateHandle 的 NavGraph 范圍的 ViewModel 時,您必須依賴onCreateView
或onViewCreated
。
因此,使用by viewModels
在onViewCreated
中進行延遲初始化是您最安全的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.