package io.dwak.mvp_java;
import android.os.Bundle;
import android.support.v4.app.Fragment;
public abstract class MvpFragment<T extends AbstractPresenter> extends Fragment {
private T presenter;
protected abstract Class<T> getPresenterClass();
protected abstract void setView();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setView();
}
protected T getPresenter(){
if(presenter == null){
try {
presenter = getPresenterClass().newInstance();
} catch (java.lang.InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return presenter;
}
}