package net.avenwu.support.presenter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
public abstract class PresenterFragment<P extends Presenter> extends Fragment {
P mPresenter;
protected abstract Class<? extends P> getPresenterClass();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
mPresenter = getPresenterClass().newInstance();
mPresenter.attach();
} catch (java.lang.InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
@Override
public void onDetach() {
super.onDetach();
mPresenter.detach();
}
public P getPresenter() {
return mPresenter;
}
}