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();
}