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 |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 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..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
@@ -1,15 +1,32 @@
 package com.application.zhangshi_app_android.adapter;
 
 import android.content.Context;
+import android.content.Intent;
 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 androidx.recyclerview.widget.GridLayoutManager;
+
+import com.android.app_base.base.BaseConfig;
 import com.android.app_base.base.adapter.BaseRVAdapter;
+import com.android.app_base.manager.AppManager;
 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.CreateFamilyProjectActivity;
+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.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * @author Ljj
@@ -17,8 +34,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
@@ -27,16 +54,40 @@
     }
 
     @Override
-    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind) {
+    protected MyViewHolder getViewHolder(ItemFamilyMemorabiliaBinding itemBind,int viewType) {
         return new MyViewHolder(itemBind);
     }
 
     @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) {
+                    if (viewModel.getCheckListLiveData().getValue() == null){
+                        viewModel.getCheckListLiveData().setValue(new ArrayList<>());
+                    }
+                    List<FamilyMemorabiliaBean> list = new ArrayList<>(viewModel.getCheckListLiveData().getValue());
+                    if (isChecked){
+                        if (!list.contains(mDataList.get(position))){
+                            list.add(mDataList.get(position));
+                        }
+                    }else{
+                        list.remove(mDataList.get(position));
+                    }
+                    viewModel.getCheckListLiveData().setValue(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
@@ -88,6 +139,31 @@
                 }
             }
         });
+        holder.getBinding().layoutModify.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                AppManager.getAppManager().startActivity(
+                        new Intent(getRecyclerView().getContext(), CreateFamilyProjectActivity.class)
+                                .putExtra(BaseConfig.EXTRA_TYPE,0)
+                                .putExtra("bean",mDataList.get(position)));
+            }
+        });
+        holder.getBinding().layoutDelete.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+            }
+        });
+        ImageRvAdapter adapter = new ImageRvAdapter(mContext);
+        mDataList.get(position).setUrl(mDataList.get(position).getUrl());
+        adapter.setData(mDataList.get(position).getUrlList());
+        holder.getBinding().rvImage.setLayoutManager(new GridLayoutManager(mContext,3));
+        holder.getBinding().rvImage.setAdapter(adapter);
+    }
+
+    public void setCheckable(boolean b) {
+        isCheckable = b;
+        notifyItemRangeChanged(0,getItemCount());
     }
 
 
@@ -98,5 +174,6 @@
             super(binding);
         }
     }
+
 }
 

--
Gitblit v1.9.1