From 1df231fd6aafa221aef3532d069c7e27d4331be7 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期日, 27 八月 2023 19:21:01 +0800
Subject: [PATCH] 功能全部完成

---
 app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java |   52 +++++++++++++++++++++++++---------------------------
 1 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
index ba3af8f..188b023 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java
@@ -10,21 +10,16 @@
 import com.android.app_base.base.view.BaseActivity;
 import com.android.app_base.manager.UserManager;
 import com.android.app_base.utils.SPUtils;
-import com.android.app_base.utils.Utils;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
-import com.application.zhangshi_app_android.adapter.ImageRvAdapter;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
+import com.application.zhangshi_app_android.adapter.ElectronicFileAddAdapter;
 import com.application.zhangshi_app_android.databinding.ActivityLoginBgChangeBinding;
 import com.hjq.bar.TitleBar;
 import com.luck.picture.lib.entity.LocalMedia;
 import com.luck.picture.lib.interfaces.OnResultCallbackListener;
 
-import java.io.File;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 
 /**
@@ -33,7 +28,7 @@
  * @desc 鐧诲綍鑳屾櫙鏇存崲 Activity
  */
 public class LoginBgChangeActivity extends BaseActivity<ActivityLoginBgChangeBinding,LoginBgChangeActivityViewModel> {
-    private ImageRvAdapter adapter;
+    private ElectronicFileAddAdapter adapter;
     private Set<String> loginBackgrounds;
     private String selectLoginBackground;
     @Override
@@ -53,17 +48,29 @@
 
     @Override
     public void initView() {
-        adapter = new ImageRvAdapter(this);
+        adapter = new ElectronicFileAddAdapter(this);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
         binding.rvImage.setLayoutManager(gridLayoutManager);
         binding.rvImage.setNestedScrollingEnabled(false);
-        View footerView = View.inflate(this,R.layout.item_image_footer,null);
-        binding.rvImage.addFooterView(footerView);
-        binding.rvImage.requestLayout();
-        footerView.setOnClickListener(new View.OnClickListener() {
+        adapter.setShowSelectIcon(true);
+        adapter.setItemAndAddClickListener(new ElectronicFileAddAdapter.OnItemAndAddClickListener() {
             @Override
-            public void onClick(View v) {
-                UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() {
+            public void onItemClick(View itemView, int position) {
+                if (selectLoginBackground != null && selectLoginBackground.equals(adapter.getItem(position))){
+                    selectLoginBackground = null;
+                    adapter.clearSelectedItems();
+
+                }else {
+                    selectLoginBackground = adapter.getItem(position);
+                    adapter.changeSingleSelected(selectLoginBackground);
+                }
+                SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
+
+            }
+
+            @Override
+            public void onAddClick() {
+                UserManager.getInstance().selectImage(getSelfActivity(), 1,9, new OnResultCallbackListener<LocalMedia>() {
                     @Override
                     public void onResult(ArrayList<LocalMedia> result) {
                         if (result.size() == 0) return;
@@ -90,25 +97,15 @@
             @Override
             public void onChildClick(RecyclerView recyclerView, View childView, int position) {
                 if (Boolean.TRUE.equals(viewModel.getTypeLiveData().getValue())){
-                    //TODO 鍒犻櫎鍥剧墖
-//                    viewModel.deleteFile(adapter.getItem(position));
                     loginBackgrounds.remove(adapter.getItem(position));
                     adapter.removeItem(position);
                     SPUtils.getInstance("loginBackground").put("loginBackgrounds",loginBackgrounds);
                     if (!loginBackgrounds.contains(selectLoginBackground)){
                         selectLoginBackground = null;
+                        adapter.clearSelectedItems();
                         SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
                     }
                 }
-            }
-        });
-        adapter.setIsEdited(true);
-        adapter.setOnItemClickListener(new BaseRVAdapter.OnItemClickListener() {
-            @Override
-            public void onItemClick(RecyclerView recyclerView, View itemView, int position) {
-                selectLoginBackground = adapter.getItem(position);
-                adapter.setSelectPosition(selectLoginBackground);
-                SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground);
             }
         });
         binding.rvImage.setAdapter(adapter);
@@ -131,7 +128,7 @@
             for (String loginBackground : loginBackgrounds) {
                 adapter.addItem(loginBackground);
             }
-            adapter.setSelectPosition(selectLoginBackground);
+            adapter.changeSingleSelected(selectLoginBackground);
         }else {
             loginBackgrounds = new HashSet<>();
         }
@@ -142,7 +139,8 @@
         viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() {
             @Override
             public void onChanged(Boolean aBoolean) {
-                adapter.setIsSelected(!aBoolean);
+                adapter.setIsEdited(aBoolean);
+                adapter.setPreview(!aBoolean);
                 binding.ivOperate.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {

--
Gitblit v1.9.1