package me.qixingchen.mdbilibili.ui.base; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by Yulan on 2015/12/5 * Fragment 的抽象 */ public abstract class BaseFragment extends Fragment { protected final String TAG = this.getClass().getSimpleName(); protected Activity mActivity; protected Context mContext; protected Fragment mFragment; protected View view; protected boolean isAttached = false; public abstract View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState); public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); this.view = view; bindView(view); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initData(); bindEvent(); } @Override public void onAttach(Context context) { super.onAttach(context); mContext = context; mActivity = getActivity(); mFragment = this; isAttached = true; } /** * Called when the fragment is no longer attached to its activity. This * is called after {@link #onDestroy()}. */ @Override public void onDetach() { super.onDetach(); isAttached = false; } protected abstract void bindView(View view); protected abstract void initData(); protected abstract void bindEvent(); }