From 82e57df230ecb744af6c8865f80870ba03c86d89 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 25 七月 2023 22:18:27 +0800
Subject: [PATCH] 基本功能完成

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java |  106 ++++++++++++++++++++++++++++------------------------
 1 files changed, 57 insertions(+), 49 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java
similarity index 67%
rename from app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
rename to app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java
index b56c433..d70bd2d 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/CreateFamilyProjectActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaDetailActivity.java
@@ -8,40 +8,48 @@
 import android.widget.PopupWindow;
 
 import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
 import com.android.app_base.base.dialog.BaseDialog;
 import com.android.app_base.base.dialog.UIDialog;
 import com.android.app_base.base.view.BaseActivity;
 import com.android.app_base.manager.UserManager;
 import com.android.app_base.utils.ScreenSizeUtils;
+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.databinding.ActivityFamilyMemorabiliaCreateBinding;
+import com.application.zhangshi_app_android.bean.LittleDoctorBean;
+import com.application.zhangshi_app_android.databinding.ActivityFamilyMemorabiliaDetailBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
 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.List;
+import java.util.Locale;
 import java.util.function.Consumer;
 
 
 /**
  * @author Gss
  * @date 2023.03.25. 16:00
- * @desc 瀹跺ぇ浜嬭 CreateFamilyProjectActivity
+ * @desc 瀹跺ぇ浜嬭 FamilyMemorabiliaDetailActivity
  */
-public class CreateFamilyProjectActivity extends BaseActivity<ActivityFamilyMemorabiliaCreateBinding,CreateFamilyProjectActivityViewModel> {
-    private int type;
+public class FamilyMemorabiliaDetailActivity extends DLBaseActivity<ActivityFamilyMemorabiliaDetailBinding, FamilyMemorabiliaDetailActivityViewModel> {
+    private int type;// 0 鏌ョ湅鍙慨鏀瑰垹闄� 1 鏂板 2 鐩存帴淇敼
     private PopupWindow popupWindow;
-    private FamilyMemorabiliaBean bean;
     private ImageRvAdapter adapter;
 
     @Override
     public int getLayoutId() {
-        return R.layout.activity_family_memorabilia_create;
+        return R.layout.activity_family_memorabilia_detail;
     }
 
     @Override
@@ -52,17 +60,17 @@
     @Override
     public void initParam() {
         type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
-        if (type == 0){
-            bean = (FamilyMemorabiliaBean) getIntent().getSerializableExtra("bean");
-            if (bean!=null){
-                viewModel.getBeanMutableLiveData().postValue(bean);
+        if (type == 0 || type == 2){
+            FamilyMemorabiliaBean bean = (FamilyMemorabiliaBean) getIntent().getSerializableExtra("bean");
+            if (bean !=null){
+                viewModel.getBeanMutableLiveData().setValue(bean);
             }
         }
     }
 
     @Override
     public void initView() {
-        adapter = new ImageRvAdapter(this,viewModel);
+        adapter = new ImageRvAdapter(this);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
         binding.rvImage.setLayoutManager(gridLayoutManager);
         binding.rvImage.setNestedScrollingEnabled(false);
@@ -92,31 +100,28 @@
                 });
             }
         });
+        adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+            @Override
+            public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+                FamilyMemorabiliaBean bean = viewModel.getBeanMutableLiveData().getValue();
+                if (bean !=null){
+                    List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+                    urlList.remove(adapter.getItem(position));
+                    bean.setUrl(Utils.appendList2String(urlList,","));
+                }
+                adapter.removeItem(position);
+                viewModel.getBeanMutableLiveData().setValue(bean);
+            }
+        });
         binding.rvImage.setAdapter(adapter);
-
         if (type == 1){
-            viewModel.getTypeLiveData().postValue(true);
+            viewModel.getTypeLiveData().setValue(true);
+            binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭");
             binding.ivOperate.setOnClickListener(v -> {
                 viewModel.add();
             });
-        }else {
-            popupWindow = new PopupWindow(this);
-            // 璁剧疆甯冨眬鏂囦欢
-            popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.pop_operate_delete, null));
-            // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
-            popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
-            popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
-            // 璁剧疆pop閫忔槑鏁堟灉
-            popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
-            // 璁剧疆pop鍑哄叆鍔ㄧ敾
-            popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate);
-            // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
-            popupWindow.setFocusable(true);
-            // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
-            popupWindow.setTouchable(true);
-            // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
-            popupWindow.setOutsideTouchable(true);
-
+        }else if (type == 0){
+            popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
             popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
@@ -143,7 +148,26 @@
                 }
             });
             viewModel.getTypeLiveData().postValue(false);
+        }else if (type == 2){
+            viewModel.getTypeLiveData().postValue(true);
+
         }
+
+        binding.etTime.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                DatePicker picker = getDatePicker();
+                picker.setTitle("閫夋嫨鏃堕棿");
+                picker.setOnDatePickedListener(new OnDatePickedListener() {
+                    @Override
+                    public void onDatePicked(int year, int month, int day) {
+                        String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
+                        binding.etTime.setText(date);
+                    }
+                });
+                picker.show();
+            }
+        });
 
     }
 
@@ -157,8 +181,8 @@
     public void initLiveDataObserve() {
         viewModel.getBeanMutableLiveData().observe(this,bean -> {
             if (bean!=null){
-                bean.setUrl(bean.getUrl());
-                adapter.setData(bean.getUrlList());
+                List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+                adapter.setData(urlList);
             }
         });
         viewModel.getTypeLiveData().observe(this,operateType -> {
@@ -195,22 +219,6 @@
     }
 
     public void setIsEdited(boolean isEdited){
-        disableAllEditText(getContentView(),isEdited);
         adapter.setIsEdited(isEdited);
-    }
-    public void disableAllEditText(ViewGroup viewGroup,boolean isEdited) {
-        for (int i = 0; i < viewGroup.getChildCount(); i++) {
-            View child = viewGroup.getChildAt(i);
-            if (child instanceof ViewGroup) {
-                disableAllEditText((ViewGroup) child,isEdited);
-            } else if (child instanceof EditText) {
-                child.setEnabled(isEdited);
-                child.setFocusable(isEdited);
-                child.setFocusableInTouchMode(isEdited);
-                if (!isEdited){
-                    child.clearFocus();
-                }
-            }
-        }
     }
 }

--
Gitblit v1.9.1