1.新建一个BaseActivity.Class继承AppCompaActivity
public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(setLayoutId());
intView(savedInstanceState);
inData();
}
protected abstract void inData();
//获取资源id
protected abstract void intView(Bundle savedInstanceState);
//获取布局
protected abstract int setLayoutId();
}
2.在其余页面继承BaseActivity
public class Main3Activity extends BaseActivity implements IView {
@BindView(R.id.allView)
RecyclerView allView;
NameAdapter nameAdapter;
IPrensenter iPrensenter;
@Override
protected void inData() {
String ur="mockapi/6523/restaurant-list?tdsourcetag=s_pcqq_aiomsg";
iPrensenter.get(ur,HomeBean.class);
}
@Override
protected void intView(Bundle savedInstanceState) {
ButterKnife.bind(this);
iPrensenter=new IPrensenter(this);
LinearLayoutManager layoutManager=new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
allView.setLayoutManager(layoutManager);
nameAdapter=new NameAdapter(this);
allView.setAdapter(nameAdapter);
}
@Override
protected int setLayoutId() {
return R.layout.activity_main3;
}
@Override
public void onsuccess(Object data) {
if(data instanceof HomeBean)
{
HomeBean homeBean= (HomeBean) data;
nameAdapter.setlist(homeBean.getData());
}
}
}
3.懒加载
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//初始化p层
searchPresenter = new Presenter(this);
//p层中自己定义的防止内存泄漏方法
searchPresenter.destroy();
}
}