package com.smartalk.gank.ui.base;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.smartalk.gank.GankApp;
import com.smartalk.gank.presenter.BasePresenter;
import butterknife.ButterKnife;
/**
* 基础Fragment
* Created by panl on 16/1/5.
*/
public abstract class BaseFragment<T extends BasePresenter> extends Fragment {
protected T presenter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(provideViewLayoutId(), container, false);
ButterKnife.bind(this, view);
initPresenter();
return view;
}
protected abstract int provideViewLayoutId();
protected abstract void initPresenter();
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.unbind(this);
}
@Override
public void onDestroy() {
super.onDestroy();
GankApp.getRefWatcher(getActivity()).watch(this);
}
}