package cn.com.basic.face.base; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.view.WindowManager; import org.xutils.x; /** * Created by zhangbo on 2017/2/15. */ public abstract class BaseActivity extends AppCompatActivity{ private View view; public View getView() { return view; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // requestWindowFeature(Window.FEATURE_NO_TITLE); // getWindow().setFlags( // WindowManager.LayoutParams.FLAG_FULLSCREEN, // WindowManager.LayoutParams.FLAG_FULLSCREEN); x.view().inject(this); //设置布局内容 setContentView(getLayoutId()); view = findViewById(getLayoutId()); //初始化控件 initViews(savedInstanceState); //初始化ToolBar initToolBar(); //初始化监听器 initListeners(); //初始化数据 initData(); } public abstract int getLayoutId(); public void initViews(Bundle savedInstanceState){}; public void initToolBar(){}; public void initListeners(){}; public 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); } }