package com.bsk.zhangbo.demoforbsk.base; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; /** * Created by zhangbo on 2017/2/15. */ public abstract class BaseActivity extends AppCompatActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置布局内容 setContentView(getLayoutId()); //初始化控件 initViews(savedInstanceState); //初始化ToolBar initToolBar(); //初始化监听器 initListeners(); //初始化数据 initData(); } public abstract int getLayoutId(); public abstract void initViews(Bundle savedInstanceState); public abstract void initToolBar(); public abstract void initListeners(); public abstract void initData(); /** * 跳转到指定的Activity * * @param targetActivity 要跳转的目标Activity */ protected final void startActivity(@NonNull Class targetActivity) { startActivity(new Intent(this, targetActivity)); } @Override protected void onResume() { super.onResume(); } /** * 跳转到指定的Activity * * @param data Activity之间传递数据,Intent的Extra key为Constant.EXTRA_NAME.DATA * @param targetActivity 要跳转的目标Activity */ protected final void startActivity(@NonNull String name, @NonNull Bundle data, @NonNull Class targetActivity) { final Intent intent = new Intent(); intent.putExtra(name, data); intent.setClass(this, targetActivity); startActivity(intent); } }