讓我們想象一下情況:MVP:如何通知有關更改視圖後去重視
- 用戶點擊「登錄」按鈕,
Fragment
(View
)調用Presenter
的方法doLogin()
。 Presenter
啓動一些異步工作,現在熱潮!應用程序已關閉(移至最近的應用程序)Presenter
存活並異步工作仍在進行中。- 異步工作完成,而應用程序在後臺。
用戶回來的應用程序,但他沒有看到的觀點去連接,工作是完成任何通知:
if(isViewAttached()) { getView().setLoaded(workResult); }
而且我要修復它。我看到的唯一方法是使用Queue<MessageToView>
,並且當再次附加View
時,執行每個「消息」。
我認爲有一個圖書館可以處理我的情況。那麼,是嗎?或者我可以使用什麼樣的模式?
感謝您分享您的想法,但我想只在需要時更新View,而不是每次Fragment恢復。對於這種情況,'Queue'是更優雅的解決方案。因爲在那裏我可以檢查'if(!queue.isEmpty()){* update_view_swith_messages(Runnable)_}'但是我在尋找一個更好的圖書館:) –
Alexandr