public abstract class BaseFragment extends Fragment {
/**
* 贴附的activity
*/
protected MainActivity mActivity;
/**
* 根view
*/
protected View mRootView;
/**
* 是否对用户可见
*/
protected boolean mIsVisible;
/**
* 是否加载完成
* 当执行完oncreatview,View的初始化方法后方法后即为true
*/
protected boolean mIsPrepare;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mRootView = inflater.inflate(setLayoutResouceId(), container, false);
initData(getArguments());
initView();
mIsPrepare = true;
setListener();
return mRootView;
}
/**
* 初始化数据
*
* @param arguments 接收到的从其他地方传递过来的参数
* @author 漆可
* @date 2016-5-26 下午3:57:48
*/
protected void initData(Bundle arguments) {
}
/**
* 初始化View
*
* @author 漆可
* @date 2016-5-26 下午3:58:49
*/
protected void initView() {
}
/**
* 设置监听事件
*
* @author 漆可
* @date 2016-5-26 下午3:59:36
*/
protected void setListener() {
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mActivity = (MainActivity) getActivity();
}
/**
* 设置根布局资源id
*
* @return
* @author 漆可
* @date 2016-5-26 下午3:57:09u
*/
protected abstract int setLayoutResouceId();
protected <T extends View> T findViewById(int id) {
if (mRootView == null) {
return null;
}
return (T) mRootView.findViewById(id);
}
}
关于Fragment基类
最新推荐文章于 2021-02-23 20:48:47 发布