BaseActivity基类
public abstract class BaseActivity<T> extends AppCompatActivity {
public T presenter;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getId());
getInit();
presenter=getPresenter();
getDataa();
}
public abstract int getId();
public abstract void getInit();
public abstract void getDataa();
public abstract T getPresenter();
}
//展示层继承基类
public class MainActivity extends BaseActivity<ShowPresenter> implements ShowView {
private RecyclerView mRlv;
private SwipyRefreshLayout mSrl;
private int i=1;
private Handler handler=null;
private List<ShowInfo.ResultsBean> results2;
@Override
public int getId() {
return R.layout.activity_main;
}
@Override
public void getInit() {
handler=new Handler();
mRlv = (RecyclerView) findViewById(R.id.rlv);
mSrl = (SwipyRefreshLayout) findViewById(R.id.srl);
mSrl.setColorSchemeResources(R.color.colorAccent);
mSrl.setDirection(SwipyRefreshLayoutDirection.BOTH);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
mRlv.setLayoutManager(linearLayoutManager);
mSrl.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh(int index) {
i=1;
presenter.getData(i);
handler.postDelayed(new Runnable() {
@Override
public void run() {
mSrl.setRefreshing(false);
}
},2000);
}
@Override
public void onLoad(int index) {
i++;
presenter.getData(i);
handler.postDelayed(new Runnable() {
@Override
public void run() {
mSrl.setRefreshing(false);
}
},2000);
}
});
}
@Override
public void getDataa() {
presenter.getData(i);
}
@Override
public ShowPresenter getPresenter() {
presenter=new ShowPresenter(this);
return presenter;
}
@Overridepublic void getView(ShowInfo showInfo) {
List<ShowInfo.ResultsBean> results = showInfo.getResults();
if(i==1){
results2=new ArrayList<ShowInfo.ResultsBean>();
}
results2.addAll(results);
ShowAdapter showAdapter=new ShowAdapter(MainActivity.this,results2);
mRlv.setAdapter(showAdapter);
}
}
BasePresenter基类
public class BasePresenter<V> { public V v; public void setPresenter(V v){ this.v=v; } }
Presenter继承BasePresenter
public class MyPresenter extends BasePresenter<MyView> { MyModel myModel; // MyView myView; public MyPresenter(MyView myView) { // this.myView = myView; super.setPresenter(myView); myModel=new MyModel(); } public void getPresenter(int page){ myModel.getModel(page); myModel.getNewModel(new MyModel.NewModel() { @Override public void OnSuccess(User data) { v.OnSuccess(data); } }); } }