Linjiajia
2023-04-24 fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c
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)));