|
|
@@ -1,8 +1,14 @@
|
|
|
package com.miekir.mvp.view;
|
|
|
|
|
|
import android.os.Bundle;
|
|
|
+import android.util.Log;
|
|
|
+
|
|
|
+import androidx.lifecycle.LiveData;
|
|
|
+import androidx.lifecycle.MutableLiveData;
|
|
|
+import androidx.lifecycle.Observer;
|
|
|
|
|
|
import com.miekir.mvp.base.BaseActivity;
|
|
|
+import com.miekir.mvp.base.BaseResult;
|
|
|
import com.miekir.mvp.presenter.BasePresenter;
|
|
|
import com.miekir.mvp.presenter.InjectPresenter;
|
|
|
|
|
|
@@ -37,9 +43,21 @@ public abstract class BaseMVPActivity extends BaseActivity implements IView {
|
|
|
InjectPresenter injectPresenter = field.getAnnotation(InjectPresenter.class);
|
|
|
if (injectPresenter != null) {
|
|
|
try {
|
|
|
+ //创建一个观察者去更新UI
|
|
|
+ final Observer<BaseResult> observer = new Observer<BaseResult>() {
|
|
|
+ @Override
|
|
|
+ public void onChanged(final BaseResult result) {
|
|
|
+ Log.e("mmmmm", "code: " + result.getCode());
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ MutableLiveData<BaseResult> liveData = new MutableLiveData<BaseResult>();
|
|
|
+ liveData.observe(this, observer);
|
|
|
+
|
|
|
+
|
|
|
Class<? extends BasePresenter> type = (Class<? extends BasePresenter>) field.getType();
|
|
|
BasePresenter mInjectPresenter = type.newInstance();
|
|
|
- mInjectPresenter.attachView(this);
|
|
|
+ mInjectPresenter.attachView(this, liveData);
|
|
|
field.setAccessible(true);
|
|
|
field.set(this, mInjectPresenter);
|
|
|
mInjectPresenters.add(mInjectPresenter);
|