[英]Android ViewModel management in mvvm
我正在創建一個示例應用程序( Last-Mvvm ),以使用Android數據綁定學習(並可能顯示)mvvm模式的用法。
我的ViewModel對象里面有一個活動。 我還有一個RecyclerView適配器,其中包含一個項目的數組列表,這些項目被轉換為另一個Viewmodel。 我想將列表的狀態保存在適配器內(用於旋轉更改)。
所以:我應該在哪里保存它? 活動里面? 還是在活動的viewModel中? 或者別的地方?
另外,還有另一件事並不清楚。
直接從viewModel執行rest調用(通過Retrofit )或數據庫調用是否合適(因為我會使用接口),還是最好做成一個視圖(活動)實現並執行所有調用的接口?
我會盡力解釋
第一 。 所以:我應該在哪里保存它? 活動里面? 還是在活動的viewModel中? 或者別的地方?
和
第二 。 直接從viewModel執行rest調用(通過Retrofit)或數據庫調用是否合適(因為我會使用接口),還是最好做成一個視圖(活動)實現並執行所有調用的接口?
關於文章的例子。
在架構下面你可以看到執行OnClickListener
和OnLongClickListener
為RecyclerView
項目。
ClickListener
根視圖的ViewHolder
。 根據實現, ViewHolderWrapper
可以作為HolderClickObservable
代理,或者取決於SelectionHelper
, ViewHolderWrapper
可以手動突出顯示選定的項目。 SelectionHelper
負責保存選擇狀態並通知SelectionObserver
有關更改。 第一 。 您可以使用onSaveInstanceState()
和onRestoreInstanceState()
方法通過活動恢復適配器狀態。
第二 。 您需要創建輕量級的ViewHolder,它僅負責綁定要查看的數據。 可以在適配器或活動上執行操作。
另請參閱示例應用程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.