LoginActivity派生自BaseActivity,后面会有很多页面均继承自BaseActivity,用于做一些统一的处理。
例如在onCreate里制定一个流程:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
App.getInstance2().addActivity(this);
netClient = new NetClient(this);
initControl();
initView();
initData();
setListener();
}
然后把诸如initControl、initView、initData、setListener设置为抽象函数,那么派生类在具体实现时就必须按照此模板来实现相应的接口函数,条例会清晰些,而且每个派生类的表现形式都相同,代码风格统一。
每个页面在点击BACK返回键的时候都需要做销毁处理,这些是相同的操作,无需重复实现,因此也可以在基类里面统一实现掉:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Utils.finish(this);
return true;
}
return super.onKeyDown(keyCode, event);
}