From 024fabb9b4098b3842019d496b0fb15fec0191a0 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sun, 14 Aug 2022 07:11:23 +0000 Subject: [PATCH] README.md 完善 --- app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java b/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java index 40cb405..4e72287 100644 --- a/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java +++ b/app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java @@ -5,7 +5,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; - import com.runt.open.mvvm.R; import com.runt.open.mvvm.base.adapter.BaseAdapter; import com.runt.open.mvvm.base.model.LoadPageViewModel; @@ -16,9 +15,14 @@ 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; /** + * 含有上拉刷新的分页Activity + * 继承此类,有效优化代码60行 + * 试用于 有下拉刷新,上拉加载等分页需求的界面 * Created by Administrator on 2021/11/4 0004. */ public abstract class LoadPageActivity<VB extends ViewBinding,VM extends LoadPageViewModel,A extends BaseAdapter,RESULT> @@ -28,23 +32,26 @@ //适配器 protected A adapter; - protected abstract String initTitle(); + protected String initTitle(){return null;} @Override public void initViews() { + if(initTitle() != null) { + setTitle(initTitle()); + } try { Class<A> entityClass = (Class<A>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[2]; this.adapter = entityClass.newInstance();//实例化泛型 } catch (Exception e) { e.printStackTrace(); } + refresh = mBinding.getRoot().findViewById(R.id.refresh); refresh.setRefreshHeader(new ClassicsHeader(mContext)); refresh.setRefreshFooter(new ClassicsFooter(mContext)); refresh.setOnRefreshLoadMoreListener(this); RecyclerView recycler = mBinding.getRoot().findViewById(R.id.recycler); recycler.setLayoutManager(new LinearLayoutManager(mContext)); recycler.setAdapter(adapter); - refresh = mBinding.getRoot().findViewById(R.id.refresh); refresh.setOnRefreshLoadMoreListener(this); mViewModel.getLiveData().observe(this, (Observer<List<RESULT>>) list -> { adapter.showNull = true; @@ -81,18 +88,20 @@ * 参数 * @return */ - protected Object[] requestParams(){return null;}; + protected Map requestParams() { + return new HashMap(); + } @Override public void onRefresh(@NonNull RefreshLayout refreshLayout) { page = 0; - mViewModel.requestData(mViewModel.request(page,requestParams())); + mViewModel.requestData(page,requestParams()); } @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { page++; - mViewModel.requestData(mViewModel.request(page,requestParams())); + mViewModel.requestData(page,requestParams()); } -- Gitblit v1.9.1