diff --git a/app/src/main/java/com/casic/detector/common/view/MainActivity.kt b/app/src/main/java/com/casic/detector/common/view/MainActivity.kt index a2fe3af..c5403fe 100644 --- a/app/src/main/java/com/casic/detector/common/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/common/view/MainActivity.kt @@ -1496,7 +1496,8 @@ } private val markerPoints by lazy { ArrayList() } private val binding: DialogSearchMarkerNewBinding by binding() - private var markerId = "" + private var markerId = ""//实际探测出来的标识器ID + private var nearestMarkerId = ""//探测不到标识器的时候计算出来的最近的标识器ID private lateinit var searchMarkerTimer: Timer private lateinit var signalTask: TimerTask private lateinit var energyTask: TimerTask @@ -1549,13 +1550,20 @@ } binding.markerInfoButton.setOnClickListener { + val id = if (markerId == "") { + nearestMarkerId + } else { + markerId + } //查库 - val result = DataBaseManager.get.queryMarkerById(markerId) + val result = DataBaseManager.get.queryMarkerById(id) if (result.isNotEmpty()) { context.navigatePageTo(result.first().toJson()) } else { - context.navigatePageTo(markerId) + context.navigatePageTo(id) } + //查看完就把ID置空,便于下次查看最新的ID + markerId = "" } } @@ -1691,8 +1699,8 @@ temp.addAll(markerPoints) temp.sortBy(MarkerDistanceData::distance) val nearestPoint = temp.first() - markerId = nearestPoint.markerId - handleMarker() + nearestMarkerId = nearestPoint.markerId + handleMarker(nearestMarkerId) } else { binding.energyTipsView.text = "已靠近,请继续移动位置" binding.energyTipsView.setTextColor(Color.parseColor("#8C5700")) @@ -1722,12 +1730,12 @@ val id = hex.take(20).hexToString() if (id.isNumber()) { markerId = id - handleMarker() + handleMarker(markerId) } } } - private fun handleMarker() { + private fun handleMarker(id: String) { binding.depthButton.isEnabled = true binding.depthButton.setTextColor(Color.WHITE) binding.depthButton.setBackgroundResource(R.mipmap.left_button_enable) @@ -1742,7 +1750,7 @@ //自动上传标识器 if (isExecuteTask) { val taskMarkerLocalBean = DataBaseManager.get.queryTaskMarkerById( - taskId, taskCode, markerId, "0" + taskId, taskCode, id, "0" ) taskMarkerLocalBean?.apply { taskViewModel.uploadMarker(context, this)