c3af7299222fce26b6b7734be0f207f556039702.svn-base 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package eVVM.apk.mvp;
  2. import eVVM.apk.common.MyActivity;
  3. /**
  4. * author : zbb
  5. * desc : MVP Activity 基类
  6. */
  7. public abstract class MvpActivity<P extends MvpPresenter> extends MyActivity implements IMvpView {
  8. private P mPresenter;
  9. @Override
  10. public void initActivity() {
  11. mPresenter = createPresenter();
  12. mPresenter.attach(this);
  13. // TODO: 2019/5/30 到底应该放下面还是放上面
  14. mPresenter.start();
  15. super.initActivity();
  16. }
  17. @Override
  18. protected void onDestroy() {
  19. if (mPresenter != null) {
  20. mPresenter.detach();
  21. mPresenter = null;
  22. }
  23. super.onDestroy();
  24. }
  25. public P getPresenter() {
  26. return mPresenter;
  27. }
  28. protected abstract P createPresenter();
  29. @Override
  30. public void onLoading() {
  31. showLoading();
  32. }
  33. @Override
  34. public void onComplete() {
  35. showComplete();
  36. }
  37. @Override
  38. public void onEmpty() {
  39. showEmpty();
  40. }
  41. @Override
  42. public void onError() {
  43. showError();
  44. }
  45. }