package com.bzh.mysimplefresco.fragment;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bzh.mysimplefresco.activity.BaseActivity;
import java.nio.charset.IllegalCharsetNameException;
/**
* ========================================================== <br>
* <b>版权</b>: 别志华 版权所有(c) 2015 <br>
* <b>作者</b>: 别志华 biezhihua@163.com<br>
* <b>创建日期</b>: 15-9-26 <br>
* <b>描述</b>: <br>
* <b>版本</b>: V1.0 <br>
* <b>修订历史</b>: <br>
* ========================================================== <br>
*/
public abstract class BaseFragment extends Fragment {
private ViewGroup rootView;
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof Activity && context instanceof BaseActivity) {
((BaseActivity) context).addFragment(toString(), this);
}
}
@Override
public void onDetach() {
super.onDetach();
if (getActivity() != null && getActivity() instanceof BaseActivity) {
((BaseActivity) getActivity()).removeFragment(this.toString());
}
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (inflateContentView() > 0) {
rootView = (ViewGroup) inflater.inflate(inflateContentView(), null);
rootView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
_layoutInit(inflater, savedInstanceState);
layoutInit(inflater, savedInstanceState);
return rootView;
}
return super.onCreateView(inflater, container, savedInstanceState);
}
protected void _layoutInit(LayoutInflater inflater, Bundle savedInstanceState) {
}
protected void layoutInit(LayoutInflater inflater, Bundle savedInstanceState) {
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState == null) {
requestData();
}
}
public void requestData() {
}
public abstract int inflateContentView();
public ViewGroup getRootView() {
return rootView;
}
}