소스 검색

稍微好看一点

詹子聪 5 년 전
부모
커밋
efc7d629d3

+ 1 - 1
app/src/main/java/com/miekir/newmvp/MainActivity.java

@@ -44,7 +44,7 @@ public class MainActivity extends BaseMvpActivity implements View.OnClickListene
         switch (v.getId()) {
             case R.id.view_test:
                 // 点击之后,后台执行耗时操作
-                WrapLiveData<List<TestBean1>> liveData = (WrapLiveData<List<TestBean1>>) presenter.<List<TestBean1>>getWrapperLiveData(true)
+                WrapLiveData<List<TestBean1>> liveData = presenter.<List<TestBean1>>getWrapperLiveData(true)
                         .observeOnce(new BaseObserver<DataResult<List<TestBean1>>>() {
                             @Override
                             public void onDataChanged(DataResult<List<TestBean1>> listDataResult) {

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/jetpack/RawLiveData.java

@@ -32,7 +32,7 @@ public class RawLiveData<T> extends MutableLiveData<T> {
         this.mWidthProgress = withProgress;
     }
 
-    private BaseObserver<T> mObserver;
+    protected BaseObserver<T> mObserver;
     public void cancelObserve() {
         mObserver.setLiveData(null);
         removeObserver(mObserver);

+ 8 - 0
mvp/src/main/java/com/miekir/mvp/jetpack/WrapLiveData.java

@@ -17,6 +17,14 @@ public class WrapLiveData<T> extends RawLiveData<DataResult<T>> {
         super(mPresenter, withProgress);
     }
 
+    @Override
+    public WrapLiveData<T> observeOnce(BaseObserver<DataResult<T>> observer) {
+        mObserver = observer;
+        observer.setLiveData(this);
+        observeForever(observer);
+        return this;
+    }
+
     public void post(int responseCode, String message, T dataBean) {
         if (mPresenter == null) {
             return;

+ 0 - 1
mvp/src/main/java/com/miekir/mvp/presenter/BasePresenter.java

@@ -42,7 +42,6 @@ public abstract class BasePresenter extends ViewModel {
      * 返回带有结果状态的实体
      * @param withProgress 是否显示加载对话框
      * @param <T> 监听者里面的数据类型
-     * @param <P> 具体的Presenter
      */
     public <T> WrapLiveData<T> getWrapperLiveData(boolean withProgress) {
         if (withProgress) {