在MineContract中view中定义方法,然后在MineFragment中重载方法,如showDeleteMsg方法,其作用是在delete方法中调用后通知本类数据修改,重新加载。
在MineContract中的presenter中构造该方法,在MinePresenter中重载,实现对数据的删除功能,并且通知界面数据需要重新刷新。
fun showDeleteMsg(mineBean: MineBean, msg: String?)
用mineBean来获取所在界面的id,msg用来获取服务器返回的消息。
presenter中通过disposable对消息进行封装注册?
因为删除中只有一个参数id需要上传,get只有一个msg需要接受,
在model 中
fun delete(mineBean: MineBean): Observable<String> { return DataRepository.delete(mineBean) }
定义delete方法,返回数据为可以传值的类型》
fun delete(mineBean: MineBean): Observable<String> { return retrofitService.delete(mineBean.sid).map { it.msg }.compose(SchedulerUtils.ioToMain()) }
最后在DataRepository中定义方法,实现数据传递,
resp为请求返回值,req为请求值,request,response