From f21e1ae4b858b6a329b717eaf420d4a1e79d9509 Mon Sep 17 00:00:00 2001
From: Guo_shaoshan <2055829622@qq.com>
Date: 星期一, 24 四月 2023 15:53:47 +0800
Subject: [PATCH] 自传和通讯录界面(未完成未修改)

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java |  267 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 157 insertions(+), 110 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
index 8adc678..2c797a4 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java
@@ -1,133 +1,180 @@
 package com.application.zhangshi_app_android.ui.function;
 
-
 import android.graphics.drawable.ColorDrawable;
-import android.os.Bundle;
-import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.PopupWindow;
 
-import androidx.annotation.Nullable;
 
-import com.android.app_base.base.BaseConfig;
-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.utils.ScreenSizeUtils;
+import androidx.lifecycle.Observer;
+import androidx.viewpager.widget.ViewPager;
+
+import com.android.app_base.widget.LinearItemDecoration;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
-import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
-import com.application.zhangshi_app_android.databinding.ItemFamilyCreateBinding;
+import com.application.zhangshi_app_android.adapter.GrowthExperienceAbroadConditionRvAdapter;
+import com.application.zhangshi_app_android.adapter.GrowthExperienceHolderConditionRvAdapter;
+import com.application.zhangshi_app_android.adapter.GrowthExperiencePrimaryRvAdapter;
+import com.application.zhangshi_app_android.adapter.GrowthExperienceRelationshipRvAdapter;
+import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean;
+import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
+import com.application.zhangshi_app_android.bean.GrowthExperienceBean;
+import com.application.zhangshi_app_android.bean.GrowthExperienceHolderConditionBean;
+import com.application.zhangshi_app_android.bean.GrowthExperienceRelationshipBean;
+import com.application.zhangshi_app_android.databinding.ActivityGrowthExperienceBinding;
+import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.google.android.material.tabs.TabLayout;
+import java.util.List;
 
 /**
  * @author Gss
  * @date 2023.03.31. 16:00
  * @desc 鎴愰暱缁忓巻 GrowthExperienceActivity
  */
-public class GrowthExperienceActivity {
-    public class GrowthExperienceActivity extends BaseActivity<GrowthExperienceActivityBinding,GrowthExperienceActivityViewModel> {
-        private int type;
-        private int operateType;
-        private PopupWindow popupWindow;
+public class GrowthExperienceActivity extends DLBaseActivity<ActivityGrowthExperienceBinding,GrowthExperienceActivityViewModel> {
+    private GrowthExperiencePrimaryRvAdapter primaryRvAdapter;
+    private GrowthExperienceRelationshipRvAdapter relationshipRvAdapter;
+    private GrowthExperienceHolderConditionRvAdapter holderConditionRvAdapter;
+    private GrowthExperienceAbroadConditionRvAdapter abroadConditionRvAdapter;
 
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_growth_experience;
+    }
 
+    @Override
+    public int getVariableId() {
+        return BR.viewModel;
+    }
 
-        @Override
-        public int getLayoutId() {
-            return R.layout.activity_growth_experience;
-        }
-
-        @Override
-        public int getVariableId() {
-            return BR.viewModel;
-        }
-
-        @Override
-        public void initParam() {
-            type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0);
-            if (type == 0){
-               GrowthExperienceBean bean = (GrowthExperienceBean) getIntent().getSerializableExtra("bean");
-                if (bean!=null){
-                    viewModel.getBeanMutableLiveData().postValue(bean);
-                }
-            }
-        }
-
-        @Override
-        public void initView() {
-            if (type == 1){
-                binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
-                binding.ivOperate.setOnClickListener(v -> {
-                    viewModel.add();
-                });
-            }else {
-                binding.ivOperate.setBackgroundResource(R.drawable.ic_operate);
-                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_add);
-                // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
-                popupWindow.setFocusable(true);
-                // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
-                popupWindow.setTouchable(true);
-                // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
-                popupWindow.setOutsideTouchable(true);
-
-                binding.ivOperate.setOnClickListener(v -> {
-                    if (operateType == 0){
-                        popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
-                    }else{
-                        viewModel.update();
-                    }
-                });
-                popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        binding.ivOperate.setBackgroundResource(R.drawable.ic_operate_finish);
-                        operateType = 1;
-                        popupWindow.dismiss();
-                    }
-                });
-                popupWindow.getContentView().findViewById(R.id.tv_delete).setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        popupWindow.dismiss();
-                        new UIDialog.Builder(getSelfActivity())
-                                .setTitle("鎮ㄧ‘瀹氳鍒犻櫎椤圭洰鍚�")
-                                .setContent("椤圭洰鍒犻櫎鍚庡皢鏃犳硶鎭㈠")
-                                .setConfirm("纭畾")
-                                .setCancel("鍙栨秷")
-                                .setListener(new UIDialog.OnListener() {
-                                    @Override
-                                    public void onConfirm(BaseDialog dialog) {
-                                        viewModel.delete();
-                                    }
-                                })
-                                .show();
-                    }
-                });
-            }
-        }
-
-        @Override
-        public void initData() {
-
-        }
-
-
-        @Override
-        public void initLiveDataObserve() {
-
-        }
-
+    @Override
+    public void initParam() {
 
     }
 
+    // 璁剧疆閫変腑鏁堟灉
+
+
+    @Override
+    public void initView() {
+        primaryRvAdapter = new GrowthExperiencePrimaryRvAdapter(this);
+        relationshipRvAdapter = new GrowthExperienceRelationshipRvAdapter(this);
+        holderConditionRvAdapter = new GrowthExperienceHolderConditionRvAdapter(this );
+        abroadConditionRvAdapter = new GrowthExperienceAbroadConditionRvAdapter(this);
+
+
+        LinearItemDecoration itemDecoration = new LinearItemDecoration();
+        itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_12));
+        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_16));
+
+        binding.rvPrimary.addItemDecoration(itemDecoration);
+        binding.rvPrimary.setAdapter(primaryRvAdapter);
+        binding.rvRelationship.addItemDecoration(itemDecoration);
+        binding.rvRelationship.setAdapter(relationshipRvAdapter);
+        binding.rvCertificates.addItemDecoration(itemDecoration);
+        binding.rvCertificates.setAdapter(holderConditionRvAdapter);
+        binding.rvAbroad.addItemDecoration(itemDecoration);
+        binding.rvAbroad.setAdapter(abroadConditionRvAdapter);
+
+        //杩欓噷鐨則ab鏁伴噺灏辨槸鍚庡彴杩斿洖鐨勬暟鎹噺锛宼ab鐨勬爣棰樹篃鏄悗鍙拌繑鍥炵殑锛屼絾鏄瘂"id":1,"userId":110,"type":1,"content":"濠村効鏃舵湡鎴戝緢蹇箰"}鍚庡彴鐨勮繑鍥炴暟鎹病鏈夎繖涓椂闂存锛屼綘灏卞緱闂竴涓嬶紝鐪嬩笉鎳傚悧锛燂紵
+        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("0-3宀侊紙濠村効鏈燂級"));
+        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("3-6宀侊紙骞煎効鏈燂級"));
+        binding.tabLayout.addTab(binding.tabLayout.newTab().setText("6-9宀侊紙闈掑勾鏈燂級 "));
+
+        //灏变笉鐭ラ亾鑴戝瓙鍦ㄦ兂浠�涔�
+        binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
+            @Override
+            public void onTabSelected(TabLayout.Tab tab) {
+                // 褰撶敤鎴烽�変腑涓�涓� Tab 鏃跺洖璋�
+                // 杩欓噷鍙互鏍规嵁 Tab 鐨勪綅缃潵鍒囨崲鐩稿簲鐨勯〉闈�
+                switch (tab.getPosition()) {
+                    case 0:
+                        // 鍒囨崲鍒� 0-3 宀侀〉闈�
+                        break;
+                    case 1:
+                        // 鍒囨崲鍒� 3-6 宀侀〉闈�
+                        break;
+                    case 2:
+                        // 鍒囨崲鍒� 6-9 宀侀〉闈�
+                        break;
+                    default:
+                        break;
+                }
+            }
+            @Override
+            public void onTabUnselected(TabLayout.Tab tab) {
+                // 褰撶敤鎴峰彇娑堥�変腑涓�涓� Tab 鏃跺洖璋�
+            }
+
+            @Override
+            public void onTabReselected(TabLayout.Tab tab) {
+                // 褰撶敤鎴峰啀娆¢�変腑涓�涓凡缁忛�変腑鐨� Tab 鏃跺洖璋�
+            }
+        });
+        // 鍒涘缓 ViewPager 骞惰缃� Adapter
+        ViewPager viewPager = binding.viewPager;
+        // 灏� TabLayout 涓� ViewPager 鍏宠仈璧锋潵
+        binding.tabLayout.setupWithViewPager(viewPager);
+
+    }
+
+    @Override
+    public void initData() {
+     viewModel.getInfo();
+      viewModel.getGrowthExperience();
+       viewModel.getRelation();
+       viewModel.getHolder();
+       viewModel.getAbroad();
+        viewModel.getGrowthExperienceAutobiography();
+    }
+
+
+    @Override
+    public void initLiveDataObserve() {
+        viewModel.getPrimaryLiveData().observe(this, new Observer<List<GrowthExperienceBean>>() {
+            @Override
+            public void onChanged(List<GrowthExperienceBean> growthExperienceBeans) {
+                primaryRvAdapter.setData(growthExperienceBeans);
+            }
+        });
+        viewModel.getRelationLiveData().observe(this, new Observer<List<GrowthExperienceRelationshipBean>>() {
+            @Override
+            public void onChanged(List<GrowthExperienceRelationshipBean> growthExperienceRelationshipBeans) {
+                relationshipRvAdapter.setData(growthExperienceRelationshipBeans);
+            }
+        });
+        viewModel.getHolderLiveData().observe(this, new Observer<List<GrowthExperienceHolderConditionBean>>() {
+            @Override
+            public void onChanged(List<GrowthExperienceHolderConditionBean> growthExperienceHolderConditionBeans) {
+                holderConditionRvAdapter.setData(growthExperienceHolderConditionBeans);
+            }
+        });
+        viewModel.getAbroadLiveData().observe(this, new Observer<List<GrowthExperienceAbroadConditionBean>>() {
+            @Override
+            public void onChanged(List<GrowthExperienceAbroadConditionBean> growthExperienceAbroadConditionBeans) {
+                abroadConditionRvAdapter.setData(growthExperienceAbroadConditionBeans);
+            }
+        });
+
+    }
+
+    private PopupWindow initPopUpWindow(View view){
+        PopupWindow popupWindow = new PopupWindow(this);
+        // 璁剧疆甯冨眬鏂囦欢
+        popupWindow.setContentView(view);
+        // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
+        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_add);
+        // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
+        popupWindow.setFocusable(true);
+        // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
+        popupWindow.setTouchable(true);
+        // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
+        popupWindow.setOutsideTouchable(false);
+        return popupWindow;
+    }
 }

--
Gitblit v1.9.1