From bf4e40cdf60c2a2fd8a486051a1ddac2daefef62 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 28 三月 2023 19:00:24 +0800
Subject: [PATCH] 家大事记完善

---
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java
index 5df1e45..695bbde 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java
@@ -4,12 +4,23 @@
 import android.view.View;
 import android.view.animation.Animation;
 import android.view.animation.Transformation;
+import android.widget.CompoundButton;
 import android.widget.FrameLayout;
+
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
 
 import com.android.app_base.base.adapter.BaseRVAdapter;
 import com.application.zhangshi_app_android.R;
 import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
 import com.application.zhangshi_app_android.databinding.ItemFamilyMemorabiliaBinding;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivity;
+import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * @author Ljj
@@ -17,8 +28,18 @@
  * @desc 瀹跺ぇ浜嬭 recyclerView 鐨� adapter
  */
 public class FamilyMemorabiliaRvAdapter extends BaseRVAdapter<FamilyMemorabiliaBean, ItemFamilyMemorabiliaBinding, FamilyMemorabiliaRvAdapter.MyViewHolder> {
+
+
+    private FamilyMemorabiliaActivityViewModel viewModel;
+    private boolean isCheckable;
+
     public FamilyMemorabiliaRvAdapter(Context context) {
         super(context);
+    }
+
+    public FamilyMemorabiliaRvAdapter(Context context, FamilyMemorabiliaActivityViewModel viewModel) {
+        super(context);
+        this.viewModel = viewModel;
     }
 
     @Override
@@ -33,10 +54,29 @@
 
     @Override
     protected void onBind(MyViewHolder holder, int position) {
+        holder.getBinding().setBean(mDataList.get(position));
         if (position % 2 != 0){
             holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_blue));
         }else {
             holder.getBinding().cardView.setCardBackgroundColor(mContext.getColor(R.color.color_card_pink));
+        }
+        if (isCheckable){
+            holder.getBinding().checkbox.setVisibility(View.VISIBLE);
+            holder.getBinding().checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+                @Override
+                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                    List<FamilyMemorabiliaBean> list = new ArrayList<>(Objects.requireNonNull(viewModel.getCheckListLiveData().getValue()));
+                    if (isChecked){
+                        list.add(mDataList.get(position));
+                    }else{
+                        list.remove(mDataList.get(position));
+                    }
+                    viewModel.getCheckListLiveData().postValue(list);
+                }
+            });
+            holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));
+        }else{
+            holder.getBinding().checkbox.setVisibility(View.GONE);
         }
         holder.getBinding().layoutTitle.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -90,6 +130,11 @@
         });
     }
 
+    public void setCheckable(boolean b) {
+        isCheckable = b;
+        notifyItemRangeChanged(0,getItemCount());
+    }
+
 
     public static class MyViewHolder extends BaseViewHolder<ItemFamilyMemorabiliaBinding>{
         private boolean isExpended;
@@ -98,5 +143,6 @@
             super(binding);
         }
     }
+
 }
 

--
Gitblit v1.9.1