package com.application.zhangshi_app_android.ui.function; import android.content.Intent; import android.widget.PopupWindow; import androidx.activity.result.ActivityResultLauncher; import androidx.lifecycle.MutableLiveData; import androidx.recyclerview.widget.GridLayoutManager; import com.android.app_base.base.BaseConfig; import com.android.app_base.base.dialog.BaseDialog; import com.android.app_base.base.dialog.WaitDialog; 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.ActivityMeetingStaDetailBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; import java.util.List; /** * @author Gss * @date 2023.03.25. 16:00 * @desc 家大事记 MeetingDetailActivity */ public class MeetingStaDetailActivity extends DLBaseActivity { private int type;// 0 查看可修改删除 1 新增 2 直接修改 private PopupWindow popupWindow; private MutableLiveData beanLiveData; private ElectronicFileAddAdapter adapter; private BaseDialog mWaitDialog; private ActivityResultLauncher activityResultLauncher; @Override public int getLayoutId() { return R.layout.activity_meeting_sta_detail; } @Override public int getVariableId() { return BR.viewModel; } @Override public void initParam() { type = getIntent().getIntExtra(BaseConfig.EXTRA_TYPE,0); if (type == 0 || type == 2){ MeetingStaBean bean = (MeetingStaBean) getIntent().getSerializableExtra("bean"); if (bean !=null){ viewModel.getBeanLiveData().setValue(bean); } } } @Override 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() { // @Override // public void onChildClick(RecyclerView recyclerView, View childView, int position) { // MeetingStaBean bean = viewModel.getBeanLiveData().getValue(); // if (bean !=null){ // List 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); // // } // binding.etDate1.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.etDate1.setText(date); // } // }); // picker.show(); // } // }); // binding.etDate2.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.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() { // // @Override // // 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); // } // }); // 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(); // } // }); // activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { // @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 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 urlList = Utils.splitString2List(bean.getUrl(),","); // urlList.add(path); // bean.setUrl(Utils.appendList2String(urlList,",")); // } // viewModel.getBeanLiveData().setValue(bean); // } // } // } // } // }); } @Override public void initData() { // beanLiveData.setValue=MeetingStaBean; } @Override public void initLiveDataObserve() { viewModel.getBeanLiveData().observe(this, bean -> { if (bean!=null){ List urlList = Utils.splitString2List(bean.getUrl(),","); 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); // } // }); } public void setIsEdited(boolean isEdited){ adapter.setIsEdited(isEdited); } @Override protected void dialogLoading() { if (mWaitDialog == null) { mWaitDialog = new WaitDialog.Builder(this) // 消息文本可以不用填写 .setMessage("正在上传") .create(); } if (!mWaitDialog.isShowing()) { mWaitDialog.show(); } } @Override protected void dialogDismiss() { if (mWaitDialog != null && mWaitDialog.isShowing()) { mWaitDialog.dismiss(); mWaitDialog = null; } } }