Давайте представим ситуацию:MVP: как оповещать представление об изменениях после де-присоединять
- пользователь нажимает на кнопку «Login» и
Fragment
(View
) называют методPresenter
«sdoLogin()
. Presenter
начинает асинхронную работу и теперь Boom! приложение закрыто (перемещено в недавние приложения)Presenter
выживает, и асинхронная работа все еще происходит.- Async работает, когда приложение было в фоновом режиме.
Пользователь вернулся в приложение, но он не видит уведомление о том, как работа закончена, как был де-приложенный вид:
if(isViewAttached()) { getView().setLoaded(workResult); }
И я хочу, чтобы это исправить. Единственный способ, который я вижу, - использовать Queue<MessageToView>
, и когда View
снова подключился, выполните каждое «Сообщение».
Я думаю, что есть библиотека, которая может обрабатывать мой случай. Итак, не так ли? Или какой шаблон я могу использовать?
Спасибо, что поделились своей идеей, но я хочу обновить View, только если это необходимо, причем не каждый раз, когда Fragment возобновляется. 'Queue' является более элегантным решением для этого случая. Потому что там я могу проверить 'if (! Queue.isEmpty()) {* update_view_swith_messages (Runnable) _}' Но я ищу библиотеку, которая делает ее еще более элегантной :) –
Alexandr