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