从名字就可以看出BaseActivity是Activity的基类,这个基类实现了大部分Activity的需要实现的方法,其中就包括把Activity添加/删除进sActivityStack中,还包括Activity之间的跳转,提示框的展示等等。看代码吧
public class BaseActivity extends FragmentActivity {
ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
ActivityManager.getInstance().push(this);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityManager.getInstance().pop(this);
}
public void openActivity(Class<?> clazz) {
openActivity(clazz, null);
}
public void openActivity(Class<?> clazz, Bundle bundle) {
Intent intent = new Intent();
intent.setClass(this, clazz);
if (bundle != null) {
intent.putExtras(bundle);
}
startActivity(intent);
}
protected void cancleProgressDialog() {
if (mProgressDialog != null && !mProgressDialog.isShowing()) {
mProgressDialog.cancel();
}
}
protected void showLoadingDialog() {
if (mProgressDialog != null) {
mProgressDialog.show();
} else {
mProgressDialog = createProgressDialog();
mProgressDialog.show();
}
}
protected ProgressDialog createProgressDialog() {
return null;
}
protected void showToast(int resId, boolean length) {
Toast.makeText(this, resId,
length ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show();
}
/**
*
* @param msg
* 内容
* @param length
* true为长时间,false为短时间
* @return: void
*/
protected void showToast(String msg, boolean length) {
Toast.makeText(this, msg,
length ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show();
}
}
反正就是Activity的基类,继承了之后一定会使代码变得很优雅。