extends BaseActivity { + protected P mvpPresenter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + mvpPresenter = createPresenter(); + super.onCreate(savedInstanceState); + } + + protected abstract P createPresenter(); + + @Override + protected void onDestroy() { + super.onDestroy(); + if (mvpPresenter != null) { + mvpPresenter.detachView(); + } + } +} diff --git a/app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/MvpFragment.java b/app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/MvpFragment.java new file mode 100644 index 0000000..9434f4c --- /dev/null +++ b/app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/MvpFragment.java @@ -0,0 +1,35 @@ +package com.wuxiaolong.androidmvpsample.mvp; + + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.View; + +import com.wuxiaolong.androidmvpsample.ui.BaseFragment; + + +/** + * A simple {@link Fragment} subclass. + */ +public abstract class MvpFragment
extends BaseFragment {
+
+ protected P mvpPresenter;
+
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ mvpPresenter = createPresenter();
+ }
+
+ protected abstract P createPresenter();
+
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ if (mvpPresenter != null) {
+ mvpPresenter.detachView();
+ }
+ }
+}
diff --git a/app/src/main/java/com/wuxiaolong/androidmvpsample/presenter/Presenter.java b/app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/Presenter.java
similarity index 63%
rename from app/src/main/java/com/wuxiaolong/androidmvpsample/presenter/Presenter.java
rename to app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/Presenter.java
index 27e67b8..4d0a4a0 100644
--- a/app/src/main/java/com/wuxiaolong/androidmvpsample/presenter/Presenter.java
+++ b/app/src/main/java/com/wuxiaolong/androidmvpsample/mvp/Presenter.java
@@ -1,4 +1,4 @@
-package com.wuxiaolong.androidmvpsample.presenter;
+package com.wuxiaolong.androidmvpsample.mvp;
public interface Presenter