我尝试使用莫斯比。但我有一个问题。
我有活动(视图)、演示者、模型和视图状态。在活动中我有按钮。当我点击按钮时,我从演示者那里调用方法来加载数据:
presenter.loadData()
加载数据的方法调用2个方法:
1.view.showProgress
model.getData()
方法model.getData()
创建ASYNC http 请求(改造)。请求完成后,从视图中比演示者调用方法,view.hideProgress()
.
好的。这个方案运作良好。
但我有一个问题。脚步:
1.点击查看按钮
2.presenter.loadData()
3.在presenter call中view.showProgress()
启动异步http请求
4.最小化应用
5.Activity被破坏
6.作为viewState调用方法saveInstanceState()
保存当前视图状态的结果(显示进度)
7.5秒后网络请求完成,主持人尝试呼叫view.hideProgress()
8.但是活动不存在,结果什么也没发生。
9.用户返回应用程序
作为 viewState 中的结果调用方法
restoreInstanceState()
结果进度再次显示,因为此状态保存在 viewState 上(参见第 6 项)。
问题是必须隐藏进度,因为网络请求在应用程序最小化时成功完成(对用户不可见)。
我该如何解决问题?