BaseActivity
public abstract class BaseActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(bindLayout());
initView();//先找控件
initData();//给控件设置数据(位置不要写反了!!!)
bindEvent();
}
//绑定布局的方法
public abstract int bindLayout();
//绑定组件的方法
protected abstract void initView();
//操作数据的方法(请求网络)
protected abstract void initData();
//设置监听的方法
protected abstract void bindEvent();
protected <T extends View> T bindView(int resid) {
return findViewById(resid);
}
}
BaseFragment
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(bindLayout(),container,false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
initData();
bindEvent();
}
//绑定视图
protected abstract int bindLayout();
//绑定组件
protected abstract void initView();
//操作数据
protected abstract void initData();
//设置监听
protected abstract void bindEvent();
protected <T extends View > T bindView(int resId){
return (T) getView().findViewById(resId);
}
}