nilupeng
2022-08-09 18b2a894226b139652adc91e20a2d1e5580c7f7e
合并优化
4 files modified
46 ■■■■■ changed files
app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java 15 ●●●● patch | view | raw | blame | history
app/src/main/java/com/runt/open/mvvm/base/fragments/LoadPageFragment.java 15 ●●●● patch | view | raw | blame | history
app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java 4 ●●●● patch | view | raw | blame | history
app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java 12 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java
@@ -16,9 +16,7 @@
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;
import java.lang.reflect.ParameterizedType;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Administrator on 2021/11/4 0004.
@@ -77,22 +75,25 @@
        refresh.autoRefresh();
    }
    protected Map requestParams() {
        return new HashMap();
    }
    /**
     * 参数
     * @return
     */
    protected Object[] requestParams(){return null;};
    @Override
    public void onRefresh(@NonNull RefreshLayout refreshLayout) {
        page = 0;
        mViewModel.requestData(page,requestParams());
        mViewModel.requestData(mViewModel.request(page,requestParams()));
    }
    @Override
    public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
        page++;
        mViewModel.requestData(page,requestParams());
        mViewModel.requestData(mViewModel.request(page,requestParams()));
    }
    public A getAdapter() {
        return adapter;
    }
app/src/main/java/com/runt/open/mvvm/base/fragments/LoadPageFragment.java
@@ -16,9 +16,7 @@
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;
import java.lang.reflect.ParameterizedType;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 分页fragment 封装
@@ -77,22 +75,25 @@
        refresh.autoRefresh();
    }
    protected Map requestParams() {
        return new HashMap();
    }
    /**
     * 参数
     * @return
     */
    protected Object[] requestParams(){return null;};
    @Override
    public void onRefresh(@NonNull RefreshLayout refreshLayout) {
        page = 0;
        mViewModel.requestData(page,requestParams());
        mViewModel.requestData(mViewModel.request(page,requestParams()));
    }
    @Override
    public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
        page++;
        mViewModel.requestData(page,requestParams());
        mViewModel.requestData(mViewModel.request(page,requestParams()));
    }
    public A getAdapter() {
        return adapter;
    }
app/src/main/java/com/runt/open/mvvm/retrofit/api/CommonApiCenter.java
@@ -4,7 +4,7 @@
import com.runt.open.mvvm.data.ApkUpGradeResult;
import com.runt.open.mvvm.data.HttpApiResult;
import com.runt.open.mvvm.data.PageResult;
import com.runt.open.mvvm.ui.main.home.Message;
import com.runt.open.mvvm.data.Results;
import java.util.Map;
@@ -84,5 +84,5 @@
     * @return
     */
    @GET("getMsgList")
    Observable<HttpApiResult<PageResult<Message>>> getMsgList(@Query("page") int pageNum, @Query("size") int pageSize);
    Observable<HttpApiResult<PageResult<Results.Message>>> getMsgList(@Query("page") int pageNum, @Query("size") int pageSize);
}
app/src/main/java/com/runt/open/mvvm/ui/loadpage/PageViewModels.java
@@ -1,16 +1,20 @@
package com.runt.open.mvvm.ui.loadpage;
import com.runt.open.mvvm.base.model.LoadPageViewModel;
import com.runt.open.mvvm.ui.main.home.Message;
import com.runt.open.mvvm.data.HttpApiResult;
import com.runt.open.mvvm.data.PageResult;
import com.runt.open.mvvm.data.Results;
import io.reactivex.Observable;
/**
 * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/9.
 */
public class PageViewModels {
    public class HomeViewModel extends LoadPageViewModel<Message> {
    public class HomeViewModel extends LoadPageViewModel<Results.Message> {
        @Override
        protected String requestUrl() {
            return "getMsgList";
        public Observable<HttpApiResult<PageResult<Results.Message>>> request(int page, Object... objects) {
            return commonApi.getMsgList(page,SIZE);
        }
    }
}