
基类Activity的构建模板
BaseActivity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
public abstract class extends AppCompatActivity {
private Unbinder mUnbinder;
protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutID());
mUnbinder = ButterKnife.bind(this);
setTranslucentStatus();
initBundle(savedInstanceState);
initView(); initData(); }
protected void initPresenter() {
}
protected void initBundle(Bundle savedInstanceState) {
}
protected void saveBundle(Bundle outState) {
}
protected abstract int getLayoutID();
protected void onPostCreate(@Nullable Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); }
protected void onDestroy() { super.onDestroy(); if (mUnbinder != null) { mUnbinder.unbind(); } }
protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); saveBundle(outState);
}
protected void initView() {
}
protected void initData() {
} }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
public abstract class BaseToolBarActivity extends {
private Toolbar mToolBar; private LinearLayout mRootView = null; private View mContentView = null;
public void setContentView(int layoutResID) { mContentView = LayoutInflater.from(this).inflate(layoutResID,null); initDectorView(); super.setContentView(mRootView); }
private void initDectorView() { mRootView = new LinearLayout(this); mRootView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); mRootView.setOrientation(LinearLayout.VERTICAL); initToolBar(); mRootView.addView(mToolBar); mRootView.addView(mContentView); }
private void initToolBar() { mToolBar = (Toolbar) getLayoutInflater().inflate(R.layout.layout_toolbar,mRootView,false); setCustomToolbar(mToolBar); }
protected abstract void setCustomToolbar(Toolbar toolbar);
}
|
BaseFragment
主要注意有个Bundle和setArguments的用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
public abstract class BaseFragment extends Fragment {
protected LayoutInflater mInflater; protected Context mContext; protected View mRoot; protected Bundle mBundle; protected Unbinder mUnbinder;
@Override public void onAttach(Context context) { mContext =context; super.onAttach(context); }
@Override public void onDetach() { mContext = null; super.onDetach();
}
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBundle = getArguments(); initBundle(mBundle);
}
@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState);
}
@Override public void onDestroy() { super.onDestroy(); if(mUnbinder!=null){ mUnbinder.unbind(); }
}
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mInflater = inflater; mRoot = inflater.inflate(getLayoutId(),container,false); mUnbinder = ButterKnife.bind(this,mRoot);
initWidget(mRoot); initData();
return mRoot; }
protected abstract int getLayoutId();
protected void initBundle(Bundle bundle) {
}
protected void initWidget(View root) {
}
protected void initData() {
} }
|
近期评论