From b6f46408cb3dc8b01051953e5c68de6c9195db60 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 23 一月 2025 10:15:46 +0800 Subject: [PATCH] 1.修复分水房点击屏幕不变蓝bug。 2.处理工单添加处理时间弹窗。 --- app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 71 +++++++++++++++++++++++++++-------- 1 files changed, 55 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java index c414864..39ec637 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java @@ -114,6 +114,8 @@ public double centerLng; public double centerLat; + MarkerBean mMarkerBean; + @Override public void onAttach(@NonNull Context context) { super.onAttach(context); @@ -125,6 +127,7 @@ @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setRetainInstance(true); Log.i(TAG, "onCreate"); mInspectionState = SharedPreferencesHelper.getInstance(this.getContext()).get(CommonKeyName.inspectionState, 0); } @@ -253,7 +256,6 @@ } } - /** * 鑾峰彇鍙栨按鍙e垪琛� */ @@ -311,7 +313,11 @@ //宸℃鎸夐挳 binding.inspectButton.setOnClickListener(v -> { if (XXPermissions.isGranted(MapFragment.this.getContext(), Permission.ACCESS_BACKGROUND_LOCATION)) { - chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK); + new ConfirmDialog(MapFragment.this.getActivity(), (confirmDialog, v1) -> { + chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK); + confirmDialog.dismiss(); + }).show(); + } else { TipUtil.show(MapFragment.this.getActivity(), "宸℃瀹氫綅闇�瑕佹偍閫夋嫨\"濮嬬粓鍏佽\"瀹氫綅淇℃伅锛屽惁鍒欐棤娉曞贰妫�銆�", new TipUtil.TipListener() { @Override @@ -739,6 +745,8 @@ }); binding.pointCenterImg.setVisibility(View.GONE); binding.pointRL.setVisibility(View.GONE); + mMarkerBean.setLat(lat); + mMarkerBean.setLng(lng); binding.lng.setText(lng); binding.lat.setText(lat); mWebView.evaluateJavascript("javascript:cancelPin()", value -> { @@ -770,20 +778,20 @@ public void onNext(BaseResponse<MarkerResult> t) { if (t.isSuccess()) { MarkerResult result = t.getContent(); - MarkerBean markerBean = new MarkerBean(); - markerBean.setId(result.getId()); - markerBean.setLng(result.getLng()); - markerBean.setLat(result.getLat()); - markerBean.setBlockId(result.getBlockId()); - markerBean.setName(result.getName()); - markerBean.setRemarks(result.getRemarks()); - markerBean.setTownId(result.getTownId()); - markerBean.setVillageId(result.getVillageId()); - markerBean.setCountyId(result.getCountyId()); - markerBean.setAddress(result.getAddress()); - markerBean.setBlockName(result.getBlockName()); - markerBean.setDivideId(result.getDivideId()); - showMarker(markerBean); + mMarkerBean = new MarkerBean(); + mMarkerBean.setId(result.getId()); + mMarkerBean.setLng(result.getLng()); + mMarkerBean.setLat(result.getLat()); + mMarkerBean.setBlockId(result.getBlockId()); + mMarkerBean.setName(result.getName()); + mMarkerBean.setRemarks(result.getRemarks()); + mMarkerBean.setTownId(result.getTownId()); + mMarkerBean.setVillageId(result.getVillageId()); + mMarkerBean.setCountyId(result.getCountyId()); + mMarkerBean.setAddress(result.getAddress()); + mMarkerBean.setBlockName(result.getBlockName()); + mMarkerBean.setDivideId(result.getDivideId()); + showMarker(mMarkerBean); } else { ToastUtil.showToast(MapFragment.this.getContext(), t.getMsg()); } @@ -1024,5 +1032,36 @@ public void onDestroy() { super.onDestroy(); LiveEventBus.get(CommonKeyName.locationData).removeObserver(locationObserver); + if (mWebView != null) { + mWebView.destroy(); + } + } + + @Override + public void onResume() { + super.onResume(); + mWebView.onResume(); + mWebView.resumeTimers(); + } + + @Override + public void onPause() { + super.onPause(); + mWebView.onPause(); + mWebView.pauseTimers(); + } + + @Override + public void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + mWebView.saveState(outState); + } + + @Override + public void onViewStateRestored(@Nullable Bundle savedInstanceState) { + super.onViewStateRestored(savedInstanceState); + if (savedInstanceState != null) { + mWebView.restoreState(savedInstanceState); + } } } -- Gitblit v1.8.0