From 717bcb657c22156cb99468ae1649c55ac20d15dd Mon Sep 17 00:00:00 2001
From: Guo_shaoshan <2055829622@qq.com>
Date: 星期二, 04 四月 2023 14:10:41 +0800
Subject: [PATCH] 成长经历界面

---
 app/src/main/java/com/application/zhangshi_app_android/adapter/FamilyMemorabiliaRvAdapter.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 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..3c84a4b 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,30 @@
 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 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.Collections;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * @author Ljj
@@ -17,8 +32,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 +58,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
@@ -86,8 +130,22 @@
                     holder.getBinding().cardView.startAnimation(a);
                     holder.isExpended = true;
                 }
+                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)));
+                    }
+                });
             }
         });
+    }
+
+    public void setCheckable(boolean b) {
+        isCheckable = b;
+        notifyItemRangeChanged(0,getItemCount());
     }
 
 
@@ -98,5 +156,6 @@
             super(binding);
         }
     }
+
 }
 

--
Gitblit v1.9.1