package com.lzx.lock.base; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; //import com.squareup.leakcanary.RefWatcher; /** * description: Fragment父类 * author: xiaodifu * date: 2016/7/8. */ public abstract class BaseFragment extends Fragment { private View view; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (getOptionsMenuId() != -1) { setHasOptionsMenu(true); } initBefore(inflater, container, savedInstanceState); view = inflater.inflate(getContentViewId(), container, false); init(view); return view; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if (getOptionsMenuId() != -1) { inflater.inflate(getOptionsMenuId(), menu); } super.onCreateOptionsMenu(menu, inflater); } /** * 初始化之前 */ protected void initBefore(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { } /** * 当前布局文件 * * @return */ protected abstract int getContentViewId(); /** * 初始化 */ protected abstract void init(View rootView); public View findViewById(int id) { return view.findViewById(id); } /** * 当前页菜单资源 * * @return */ protected int getOptionsMenuId() { return -1; } }