<img src="https://img-blog.csdn.net/20161217183147399?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlhb3poZW56aG9uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA=
/** * 作用:一个基类,左侧菜单和正文Fragment的基类 * 【了解fragment生命周期:http://blog.csdn.net/miaozhenzhong/article/details/53710807】 */ public abstract class BaseFragment extends Fragment{ /** * 上下文 */ public Activity mActivity; /** * 当BaseFragment被创建的时候回调这个方法 【系统回调】 * @param savedInstanceState */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mActivity = getActivity(); } /** * 当Fragment作为视图被创建的时候回调 * @param inflater * @param container * @param savedInstanceState * @return */ @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return initView(); } /** * 强制孩子实现自己的视图 * @return */ public abstract View initView(); /** * 当Activity被创建的时候回调这个方法 * @param savedInstanceState */ @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initData();//当Activity被创建的时候回调 } //当子类需要联网请求数据的时候,重写该方法即可 public void initData() { } }
分析图:抽取成公共的BaseFragment
<img src="https://img-blog.csdn.net/20161217183147399?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlhb3poZW56aG9uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA=