From b2dc509d5530a9af3b48d7dce7db1e7bf66b06d5 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期三, 28 二月 2024 17:26:58 +0800
Subject: [PATCH] 1、修复新增家庭设备时存在备忘录问题\n2、旅游模块新增加“感言”、“其他费用”、“备注”字段
---
app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java | 43 ++++++++++++++++++++++++-------------------
1 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java b/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
index da0d572..2b2f62d 100644
--- a/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
+++ b/app_base/src/main/java/com/android/app_base/base/adapter/BaseRVAdapter.java
@@ -21,33 +21,33 @@
/**
* @author Ljj
* @date 2023.03.02. 17:09
- * @desc
+ * @desc RecyclerView 閫傞厤鍣ㄥ熀绫�
*/
-public abstract class BaseRVAdapter<T,VDB extends ViewDataBinding> extends RecyclerView.Adapter<BaseRVAdapter.BaseViewHolder<VDB>> {
+public abstract class BaseRVAdapter<T,VDB extends ViewDataBinding,VH extends BaseRVAdapter.BaseViewHolder<VDB>> extends RecyclerView.Adapter<VH> {
/** 涓婁笅鏂囧璞� */
- private final Context mContext;
+ protected final Context mContext;
/** RecyclerView 瀵硅薄 */
- private RecyclerView mRecyclerView;
+ protected RecyclerView mRecyclerView;
/** 鏉$洰鐐瑰嚮鐩戝惉鍣� */
- private OnItemClickListener mItemClickListener;
+ protected OnItemClickListener mItemClickListener;
/** 鏉$洰闀挎寜鐩戝惉鍣� */
- private OnItemLongClickListener mItemLongClickListener;
+ protected OnItemLongClickListener mItemLongClickListener;
/**
* 璇� adapter 涓婄粦瀹氱殑婊戝姩鐩戝惉鍣�
*/
- private MyOnScrollListener myOnScrollListener;
+ protected MyOnScrollListener myOnScrollListener;
/** 鏉$洰瀛� View 鐐瑰嚮鐩戝惉鍣� */
- private SparseArray<OnChildClickListener> mChildClickListeners;
+ protected SparseArray<OnChildClickListener> mChildClickListeners;
/** 鏉$洰瀛� View 闀挎寜鐩戝惉鍣� */
- private SparseArray<OnChildLongClickListener> mChildLongClickListeners;
+ protected SparseArray<OnChildLongClickListener> mChildLongClickListeners;
/**
* 鍒楄〃鏁版嵁
*/
- private List<T> mDataList;
+ protected List<T> mDataList;
public BaseRVAdapter(Context context) {
mContext = context;
@@ -65,16 +65,17 @@
@NonNull
@Override
- public BaseViewHolder<VDB> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
VDB itemBind = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),getLayoutId(),parent,false);
- return new BaseViewHolder<>(itemBind);
+ return getViewHolder(itemBind,viewType);
}
protected abstract int getLayoutId();
- protected abstract void onBind(BaseViewHolder<VDB> holder, int position);
+ protected abstract void onBind(VH holder, int position);
+ protected abstract VH getViewHolder(VDB itemBind,int viewType);
@Override
- public void onBindViewHolder(@NonNull BaseViewHolder<VDB> holder, int position) {
+ public void onBindViewHolder(@NonNull VH holder, int position) {
View itemView = holder.itemView;
// 璁剧疆鏉$洰鐨勭偣鍑诲拰闀挎寜浜嬩欢
if (mItemClickListener != null) {
@@ -172,7 +173,7 @@
* @param <VDB>
*/
public static class BaseViewHolder<VDB extends ViewDataBinding> extends RecyclerView.ViewHolder{
- private VDB binding;
+ protected VDB binding;
public BaseViewHolder(@NonNull View itemView) {
super(itemView);
@@ -211,14 +212,16 @@
if (mDataList == null || mDataList.size() == 0) {
setData(data);
} else {
- mDataList.addAll(data);
- notifyDataSetChanged();
+ //涓�涓竴涓殑娣诲姞
+ for (T datum : data) {
+ addItem(datum);
+ }
}
}
/**
- * 浠庡ご閮� 杩藉姞涓�浜涙暟鎹� by hyz
+ * 浠庡ご閮� 杩藉姞涓�浜涙暟鎹�
*/
- public void addDataFormHead(List<T> data) {
+ public void addDataFromHead(List<T> data) {
if (data == null || data.size() == 0) {
return;
}
@@ -280,6 +283,7 @@
position = mDataList.size() - 1;
}
notifyItemInserted(position);
+ notifyItemRangeChanged(position, mDataList.size() - position);
}
/**
* 鍒犻櫎鍗曟潯鏁版嵁
@@ -295,6 +299,7 @@
mDataList.remove(position);
// 鍛婅瘔閫傞厤鍣ㄥ垹闄ゆ暟鎹殑浣嶇疆锛屼細鏈夊姩鐢绘晥鏋�
notifyItemRemoved(position);
+ notifyItemRangeChanged(position, mDataList.size() - position);
}
/**
* 璁剧疆 RecyclerView 鏉$洰鐐瑰嚮鐩戝惉
--
Gitblit v1.9.1