前言:
前一篇
Android实战(橘子娱乐)-首页(第五篇 Glide加载图片的简单封装)讲解了我们加载显示图片的工具util的具体代码细节,最后提到我们这一节将学习presenter实现将Model层数据传递给View层。
我们先来看我们之前学习MainActivity的部分代码:
public class MainActivity extends BaseActivity implements MainView,
NavigationView.OnNavigationItemSelectedListener,OnRefreshListener,View.OnClickListener{}
@Override
public void getFilmInfos(Film film) {
mIRecyclerView.setRefreshing(false);
/* mList.clear();*/
for (int i=0;i<film.getSubjects().size();i++) {
mList.add(film.getSubjects().get(i));
}
mMainAdapter.notifyDataSetChanged();
}
上面的两段代码片可以看出我们的MainActivity继承了MainView这个接口并实现了
getFilmInfos(Film film)这个接口方法,而我们想要的数据刚好就是来自这里的参数film,当然这个Film类是我们根据接口返回的json生成的bean类,我就不贴出代码了。我们贴出MainView这个接口的代码:
MainView.java
package com.andy.orange.ui.home.view;
import com.andy.orange.bean.Film;
/**
* Created by Andy Lau on 2017/8/10.
*/
public interface MainView {
void getFilmInfos(Film movieInfos);
}
MainView接口看起来好简单,我们来看我们的主角MainPresenterImpl类
package com.andy.orange.ui.home.presenter.impl;
import android.content.Context;
import android.util.Log;
import com.andy.orange.bean.Film;