package com.mathiasluo.designer.view.fragment; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import com.mathiasluo.designer.presenter.BasePresenter; /** * Created by MathiasLuo on 2016/3/2. */ public abstract class BaseFragment<V, T extends BasePresenter<V>> extends Fragment { protected T mPresenter; protected Handler mHandler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPresenter = creatPresenter(); mHandler = new Handler(); mPresenter.attachView((V) this); mPresenter.OnViewCreate(); } @Override public void onResume() { super.onResume(); mPresenter.OnViewResume(); } @Override public void onDestroy() { super.onDestroy(); mPresenter.detachView(); mPresenter.onViewDestroy(); } @Override public void onStop() { super.onStop(); mPresenter.OnViewStop(); } protected T getPresenter() { return mPresenter; } protected abstract T creatPresenter(); public Handler getHandler() { return mHandler; } }