簡體   English   中英

何時應該創建片段視圖 model?

[英]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 時,您必須依賴onCreateViewonViewCreated

因此,使用by viewModelsonViewCreated中進行延遲初始化是您最安全的選擇。

暫無
暫無

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

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