public abstract class BaseActivity<P extends BasePresenter> extends AppCompatActivity implements IBaseView { public P presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //沉浸式 if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); getWindow().setStatusBarColor(Color.TRANSPARENT); } ActionBar actionBar = getSupportActionBar(); setContentView(setChildContentView()); initView(); initDataBase(); initData(); } public P getPresenter(){ return presenter; } private void initDataBase() { presenter=setBasePresenter(); if(presenter!=null){ presenter.attchView(this); }else { try { throw new Exception("兄弟 prenter 没有设置 请在您的Activity 创建 presenter!!!"); } catch (Exception e) { e.printStackTrace(); } } } abstract void initView(); abstract void initData(); abstract P setBasePresenter(); abstract int setChildContentView(); }