From fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期一, 24 四月 2023 21:17:05 +0800
Subject: [PATCH] 功能模块大部分

---
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 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 84c2b42..3633bbd 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
@@ -23,6 +23,7 @@
 import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaActivityViewModel;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -53,7 +54,7 @@
     }
 
     @Override
-    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind) {
+    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind,int viewType) {
         return new MyViewHolder(itemBind);
     }
 
@@ -70,13 +71,18 @@
             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 (viewModel.getCheckListLiveData().getValue() == null){
+                        viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+                    }
+                    List<FamilyMemorabiliaBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
                     if (isChecked){
-                        list.add(mDataList.get(position));
+                        if (!list.contains(mDataList.get(position))){
+                            list.add(mDataList.get(position));
+                        }
                     }else{
                         list.remove(mDataList.get(position));
                     }
-                    viewModel.getCheckListLiveData().postValue(list);
+                    viewModel.getCheckListLiveData().setValue(list);
                 }
             });
             holder.getBinding().checkbox.setChecked(viewModel.getCheckListLiveData().getValue().contains(mDataList.get(position)));

--
Gitblit v1.9.1