From b3a51f064c4dfb27f54cd9526803338d2e8dc296 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sat, 13 Aug 2022 16:26:49 +0000 Subject: [PATCH] 添加注释,部分优化 --- app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 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 35e5ca6..44a86d1 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 @@ -1,5 +1,8 @@ package com.runt.open.mvvm.base.activities; +import android.view.MotionEvent; +import android.view.View; + import androidx.annotation.NonNull; import androidx.lifecycle.Observer; import androidx.recyclerview.widget.LinearLayoutManager; @@ -16,9 +19,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,21 +36,26 @@ //适配器 protected A adapter; + 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; @@ -79,18 +92,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