From 42ea59771a54d2591df0a6dd3936dda669be99ae Mon Sep 17 00:00:00 2001 From: gs <3129367635@qq.com> Date: 星期一, 08 七月 2024 12:23:48 +0800 Subject: [PATCH] 会议统计接入增加,删除,修改接口 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java | 367 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 228 insertions(+), 139 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java index 10425ba..4594bd7 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java @@ -1,24 +1,48 @@ package com.application.zhangshi_app_android.ui.function; +import android.app.Activity; +import android.content.ClipData; import android.content.Intent; +import android.net.Uri; +import android.view.View; import android.widget.PopupWindow; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.lifecycle.MutableLiveData; 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.WaitDialog; +import com.android.app_base.manager.UserManager; +import com.android.app_base.utils.GetFilePathFromUri; +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.ElectronicFileAddAdapter; import com.application.zhangshi_app_android.bean.MeetingStaBean; +import com.application.zhangshi_app_android.databinding.ActivityMeetingDetailBinding; import com.application.zhangshi_app_android.databinding.ActivityMeetingStaDetailBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; +import com.github.gzuliyujiang.wheelpicker.DatePicker; +import com.github.gzuliyujiang.wheelpicker.OptionPicker; +import com.github.gzuliyujiang.wheelpicker.TimePicker; +import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener; +import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener; +import com.github.gzuliyujiang.wheelpicker.contract.OnTimePickedListener; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Locale; /** @@ -60,112 +84,178 @@ public void initView() { adapter = new ElectronicFileAddAdapter(this); GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); -// binding.rvImage.setLayoutManager(gridLayoutManager); -// binding.rvImage.setNestedScrollingEnabled(false); -// adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() { +// adapter.setItemAndAddClickListener(new ElectronicFileAddAdapter.OnItemAndAddClickListener() { // @Override -// public void onChildClick(RecyclerView recyclerView, View childView, int position) { -// MeetingStaBean bean = viewModel.getBeanLiveData().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.getBeanLiveData().setValue(bean); -// } -// }); -// binding.rvImage.setAdapter(adapter); -// if (type == 1){ -// viewModel.getTypeLiveData().setValue(true); -// binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭"); -// binding.ivOperate.setOnClickListener(v -> { -// viewModel.add(); -// }); -// }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) { -// viewModel.getTypeLiveData().postValue(true); -// popupWindow.dismiss(); -// } -// }); -// viewModel.getTypeLiveData().postValue(false); -// }else if (type == 2){ -// viewModel.getTypeLiveData().postValue(true); +// public void onItemClick(View v, int position) { // +// } +// +// @Override +//// public void onAddClick() { +//// OptionPicker picker = getOptionPicker(Arrays.asList("鍥剧墖瑙嗛","鍏朵粬鏂囦欢")); +//// picker.setTitle("閫夋嫨鏂囦欢绫诲瀷"); +//// picker.setOnOptionPickedListener(new OnOptionPickedListener() { +//// @Override +//// public void onOptionPicked(int position, Object item) { +//// if (item.equals("鍥剧墖瑙嗛")) { +//// UserManager.getInstance().selectImage(getSelfActivity(), 0,9, new OnResultCallbackListener<LocalMedia>() { +//// @Override +//// public void onResult(ArrayList<LocalMedia> result) { +//// if (result.size() == 0) return; +//// for (LocalMedia media : result) { +//// String path = media.getRealPath(); +//// if (path!=null){ +//// viewModel.addUploadFile(path); +//// MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); +//// if (bean !=null){ +//// List<String> urlList = Utils.splitString2List(bean.getUrl(),","); +//// urlList.add(path); +//// bean.setUrl(Utils.appendList2String(urlList,",")); +//// } +//// viewModel.getBeanLiveData().setValue(bean); +//// } +//// } +//// } +//// @Override +//// public void onCancel() { +//// +//// } +//// }); +//// }else { +//// Intent intent = new Intent(Intent.ACTION_GET_CONTENT); +////// Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); +//// intent.setType("*/*"); // 闄愬埗鏂囦欢绫诲瀷 +//// intent.addCategory(Intent.CATEGORY_OPENABLE); // 娣诲姞 CATEGORY_OPENABLE 鍒嗙被,鍛婅瘔绯荤粺瑕侀�夋嫨鐨勫唴瀹瑰彲浠ヨ鎵撳紑锛岃繖鏍风郴缁熶細杩囨护鎺変笉鑳借搴旂敤鎵撳紑鐨勬枃浠讹紝浠ユ彁渚涙洿濂界殑鐢ㄦ埛浣撻獙銆� +//// intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); // 鍏佽澶氶�� +//// activityResultLauncher.launch(intent); +//// } +//// } +//// }); +//// picker.show(); +//// +//// } +// }); + adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() { + @Override + public void onChildClick(RecyclerView recyclerView, View childView, int position) { + MeetingStaBean bean = viewModel.getBeanLiveData().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.getBeanLiveData().setValue(bean); + } + }); +// binding.rvImage.setAdapter(adapter); + if (type == 1){ + viewModel.getTypeLiveData().setValue(true); + binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭"); + binding.ivOperate.setOnClickListener(v -> { + viewModel.add(); + }); + }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) { + viewModel.getTypeLiveData().postValue(true); + popupWindow.dismiss(); + } + }); + viewModel.getTypeLiveData().postValue(false); + }else if (type == 2){ + viewModel.getTypeLiveData().postValue(true); + + } + + + // 鏄剧ず鏃ユ湡閫夋嫨鍣ㄥ拰鏃堕棿閫夋嫨鍣ㄧ殑鏂规硶 +// public void showDateTimePicker() { +// DatePickerDialog pickerDialog = new DatePickerDialog(this, (view, year, monthOfYear, dayOfMonth) -> { +// TimePickerDialog timePickerDialog = new TimePickerDialog(this, (view1, hourOfDay, minute) -> { +// String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, monthOfYear + 1, dayOfMonth); +// String time = String.format(Locale.CHINA, "%02d:%02d", hourOfDay, minute); +// String starttime = date + " " + time; +// binding.etStartTime.setText(starttime); +// }, 0, 0, true); +// timePickerDialog.setTitle("閫夋嫨鏃堕棿"); +// timePickerDialog.show(); +// }, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); +// pickerDialog.setTitle("閫夋嫨鏃ユ湡"); +// pickerDialog.show(); // } -// binding.etDate1.setOnClickListener(new View.OnClickListener() { +// binding.etStartTime.setOnClickListener(new View.OnClickListener() { +// private String datee; +// private String timee; +// // @Override // public void onClick(View v) { // DatePicker picker = getDatePicker(); -// picker.setTitle("閫夋嫨鏃堕棿"); +// TimePicker picker2 = getTimePicker(); +// picker.setTitle("閫夋嫨鏃ユ湡"); +// picker2.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.etDate1.setText(date); +// datee = date; +// +// // 鍦ㄦ棩鏈熼�夋嫨鍚庢樉绀烘椂闂撮�夋嫨鍣� +// picker2.show(); // } // }); // picker.show(); +// picker2.setOnTimePickedListener(new OnTimePickedListener() { +// @Override +// public void onTimePicked(int hour, int minute, int second) { +// String time = String.format(Locale.CHINA, "%d:%02d:%02d", hour, minute, second); +// timee = time; +// +// // 鍚堝苟鏃ユ湡鍜屾椂闂村苟璁剧疆鍒扮紪杈戞 +// String starttime = datee + " " + timee; +// binding.etStartTime.setText(starttime); +// } +// }); // } // }); -// binding.etDate2.setOnClickListener(new View.OnClickListener() { +// binding.etEndTime.setOnClickListener(new View.OnClickListener() { +// private String datee; +// private String timee; +// // @Override // public void onClick(View v) { // DatePicker picker = getDatePicker(); -// picker.setTitle("閫夋嫨鏃堕棿"); +// TimePicker picker2 = getTimePicker(); +// picker.setTitle("閫夋嫨鏃ユ湡"); +// picker2.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.etDate2.setText(date); -// } -// }); -// picker.show(); -// } -// }); - -// binding.etTime1.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// TimePicker picker = getTimePicker(); -// picker.setTitle("閫夋嫨鏃堕棿"); -// picker.setOnTimePickedListener(new OnTimePickedListener() { +// datee = date; // +// // 鍦ㄦ棩鏈熼�夋嫨鍚庢樉绀烘椂闂撮�夋嫨鍣� +// picker2.show(); +// } +// }); +// picker.show(); +// picker2.setOnTimePickedListener(new OnTimePickedListener() { // @Override +// public void onTimePicked(int hour, int minute, int second) { +// String time = String.format(Locale.CHINA, "%d:%02d:%02d", hour, minute, second); +// timee = time; // -// public void onTimePicked(int hour, int Minute,int second) { -//// second = '0'; -// String date = String.format(Locale.CHINA, "%d:%02d:%02d",hour,Minute,second); -// binding.etTime1.setText(date); +// // 鍚堝苟鏃ユ湡鍜屾椂闂村苟璁剧疆鍒扮紪杈戞 +// String endtime = datee + " " + timee; +// binding.etEndTime.setText(endtime); // } // }); -// picker.show(); -// } -// }); - - - - -// binding.etTime2.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// TimePicker picker = getTimePicker(); -// picker.setTitle("閫夋嫨鏃堕棿"); -// picker.setOnTimePickedListener(new OnTimePickedListener() { -// @Override -// public void onTimePicked(int hour, int Minute, int second) { -// String date = String.format(Locale.CHINA, "%d:%02d:%02d",hour,Minute,second ); -// binding.etTime2.setText(date); -// } -// }); -// picker.show(); // } // }); @@ -173,51 +263,50 @@ - -// activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { -// @Override -// public void onActivityResult(ActivityResult result) { -// if (result.getResultCode() == Activity.RESULT_OK) { -// if (result.getData() == null){ -// return; -// } -// // 鑾峰彇閫変腑鐨勫涓枃浠剁殑 URI -// ClipData clipData = result.getData().getClipData(); -// if (clipData != null) { -// int itemCount = clipData.getItemCount(); -// for (int i = 0; i < itemCount; i++) { -// Uri uri = clipData.getItemAt(i).getUri(); -// // 浣跨敤閫変腑鐨勬枃浠� URI 杩涜鍚庣画鎿嶄綔锛屾瘮濡傝鍙栨枃浠跺唴瀹圭瓑 -// String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),uri); -// if (path!=null){ -// viewModel.addUploadFile(path); -// MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); -// if (bean !=null){ -// List<String> urlList = Utils.splitString2List(bean.getUrl(),","); -// urlList.add(path); -// bean.setUrl(Utils.appendList2String(urlList,",")); -// } -// viewModel.getBeanLiveData().setValue(bean); -// } -// } -// }else { -// // 鑾峰彇閫変腑鐨勫崟涓枃浠剁殑 URI -// Uri selectedFileUri = result.getData().getData(); -// String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),selectedFileUri); -// if (path!=null){ -// viewModel.addUploadFile(path); -// MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); -// if (bean !=null){ -// List<String> urlList = Utils.splitString2List(bean.getUrl(),","); -// urlList.add(path); -// bean.setUrl(Utils.appendList2String(urlList,",")); -// } -// viewModel.getBeanLiveData().setValue(bean); -// } -// } -// } -// } -// }); + activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { + @Override + public void onActivityResult(ActivityResult result) { + if (result.getResultCode() == Activity.RESULT_OK) { + if (result.getData() == null){ + return; + } + // 鑾峰彇閫変腑鐨勫涓枃浠剁殑 URI + ClipData clipData = result.getData().getClipData(); + if (clipData != null) { + int itemCount = clipData.getItemCount(); + for (int i = 0; i < itemCount; i++) { + Uri uri = clipData.getItemAt(i).getUri(); + // 浣跨敤閫変腑鐨勬枃浠� URI 杩涜鍚庣画鎿嶄綔锛屾瘮濡傝鍙栨枃浠跺唴瀹圭瓑 + String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),uri); + if (path!=null){ + viewModel.addUploadFile(path); + MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); + if (bean !=null){ + List<String> urlList = Utils.splitString2List(bean.getUrl(),","); + urlList.add(path); + bean.setUrl(Utils.appendList2String(urlList,",")); + } + viewModel.getBeanLiveData().setValue(bean); + } + } + }else { + // 鑾峰彇閫変腑鐨勫崟涓枃浠剁殑 URI + Uri selectedFileUri = result.getData().getData(); + String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),selectedFileUri); + if (path!=null){ + viewModel.addUploadFile(path); + MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); + if (bean !=null){ + List<String> urlList = Utils.splitString2List(bean.getUrl(),","); + urlList.add(path); + bean.setUrl(Utils.appendList2String(urlList,",")); + } + viewModel.getBeanLiveData().setValue(bean); + } + } + } + } + }); } @@ -236,25 +325,25 @@ adapter.setData(urlList); } }); -// viewModel.getTypeLiveData().observe(this,operateType -> { -// if (operateType){ -// if (type == 1) { -// binding.ivOperate.setOnClickListener(v -> { -// viewModel.add(); -// }); -// }else { -// binding.ivOperate.setOnClickListener(v -> { -// viewModel.update(); -// }); -// } -// setIsEdited(true); -// }else { -// binding.ivOperate.setOnClickListener(v -> { -// popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); -// }); -// setIsEdited(false); -// } -// }); + viewModel.getTypeLiveData().observe(this,operateType -> { + if (operateType){ + if (type == 1) { + binding.ivOperate.setOnClickListener(v -> { + viewModel.add(); + }); + }else { + binding.ivOperate.setOnClickListener(v -> { + viewModel.update(); + }); + } + setIsEdited(true); + }else { + binding.ivOperate.setOnClickListener(v -> { + popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); + }); + setIsEdited(false); + } + }); } public void setIsEdited(boolean isEdited){ -- Gitblit v1.9.1