package com.devtf_l.app.base;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import butterknife.ButterKnife;
import com.afollestad.materialdialogs.MaterialDialog;
/**
* @Desc: fragment 公共基类,[Tips: 采用hide/show来管理fragment的话,周期方法不会重复执行]
* @author ljh
* @date 2015-5-5 上午11:55:37
*/
public abstract class BaseFragment extends Fragment {
protected BaseActivity context = null;
protected View fragmentRoot = null; // Fragment的根View,获取Fragment中的View需要使用
protected String TAG = "BaseFragment-TAG";
protected MaterialDialog mDialog; //MaterialDialog
protected Handler mHandler = new Handler();
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
context = (BaseActivity) activity;
TAG = context.getClass().getSimpleName() + "-" + this.getClass().getSimpleName();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fragmentRoot = inflater.inflate(getFragmentLayout(), null);
// fragmentRoot.setBackgroundColor(getResources().getColor(android.R.color.white));
ButterKnife.inject(this, fragmentRoot);
return fragmentRoot;
}
public View getRootView() {
return fragmentRoot;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
mDialog = context.createMaterialDialog();
init();
initPageViewListener();
super.onActivityCreated(savedInstanceState);
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onDetach() {
super.onDetach();
}
public abstract int getFragmentLayout();
public abstract void init();
public abstract void initPageViewListener();
}