package net.avenwu.support.presenter; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; /** * Created by chaobin on 7/14/15. */ public abstract class PresenterActivity<P extends Presenter> extends AppCompatActivity { protected P mPresenter; protected abstract Class<? extends P> getPresenterClass(); @Override protected 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 protected void onDestroy() { super.onDestroy(); mPresenter.detach(); } public P getPresenter() { return mPresenter; } }