diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 1fde67e..416d99e 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -242,7 +242,6 @@ alarmStatus: String, alarmType: String, endDate: String, - taskName: String, offset: Int ): String { val param = JsonObject() @@ -250,7 +249,6 @@ param.addProperty("alarmStatus", alarmStatus) param.addProperty("alarmType", alarmType) param.addProperty("endDate", endDate) - param.addProperty("taskName", taskName) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 1fde67e..416d99e 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -242,7 +242,6 @@ alarmStatus: String, alarmType: String, endDate: String, - taskName: String, offset: Int ): String { val param = JsonObject() @@ -250,7 +249,6 @@ param.addProperty("alarmStatus", alarmStatus) param.addProperty("alarmType", alarmType) param.addProperty("endDate", endDate) - param.addProperty("taskName", taskName) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() diff --git a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt index 42f2148..2aed5f5 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt @@ -58,16 +58,11 @@ }) fun getAlarmsByPage( - beginDate: String, - alarmStatus: String, - alarmType: String, - endDate: String, - taskName: String, - offset: Int + beginDate: String, alarmStatus: String, alarmType: String, endDate: String, offset: Int ) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getAlarmsByPage( - beginDate, alarmStatus, alarmType, endDate, taskName, offset + beginDate, alarmStatus, alarmType, endDate, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 1fde67e..416d99e 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -242,7 +242,6 @@ alarmStatus: String, alarmType: String, endDate: String, - taskName: String, offset: Int ): String { val param = JsonObject() @@ -250,7 +249,6 @@ param.addProperty("alarmStatus", alarmStatus) param.addProperty("alarmType", alarmType) param.addProperty("endDate", endDate) - param.addProperty("taskName", taskName) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() diff --git a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt index 42f2148..2aed5f5 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt @@ -58,16 +58,11 @@ }) fun getAlarmsByPage( - beginDate: String, - alarmStatus: String, - alarmType: String, - endDate: String, - taskName: String, - offset: Int + beginDate: String, alarmStatus: String, alarmType: String, endDate: String, offset: Int ) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getAlarmsByPage( - beginDate, alarmStatus, alarmType, endDate, taskName, offset + beginDate, alarmStatus, alarmType, endDate, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/fragment_alarm.xml b/app/src/main/res/layout/fragment_alarm.xml index 9fe3d19..018c7f4 100644 --- a/app/src/main/res/layout/fragment_alarm.xml +++ b/app/src/main/res/layout/fragment_alarm.xml @@ -71,27 +71,6 @@ app:cardElevation="@dimen/dp_2" app:cardUseCompatPadding="true"> - - - - - () - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 1fde67e..416d99e 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -242,7 +242,6 @@ alarmStatus: String, alarmType: String, endDate: String, - taskName: String, offset: Int ): String { val param = JsonObject() @@ -250,7 +249,6 @@ param.addProperty("alarmStatus", alarmStatus) param.addProperty("alarmType", alarmType) param.addProperty("endDate", endDate) - param.addProperty("taskName", taskName) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() diff --git a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt index 42f2148..2aed5f5 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt @@ -58,16 +58,11 @@ }) fun getAlarmsByPage( - beginDate: String, - alarmStatus: String, - alarmType: String, - endDate: String, - taskName: String, - offset: Int + beginDate: String, alarmStatus: String, alarmType: String, endDate: String, offset: Int ) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getAlarmsByPage( - beginDate, alarmStatus, alarmType, endDate, taskName, offset + beginDate, alarmStatus, alarmType, endDate, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/fragment_alarm.xml b/app/src/main/res/layout/fragment_alarm.xml index 9fe3d19..018c7f4 100644 --- a/app/src/main/res/layout/fragment_alarm.xml +++ b/app/src/main/res/layout/fragment_alarm.xml @@ -71,27 +71,6 @@ app:cardElevation="@dimen/dp_2" app:cardUseCompatPadding="true"> - - - - - @@ -54,7 +55,7 @@ android:id="@+id/alarmStateView" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_15" + android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" android:paddingVertical="@dimen/dp_5" android:text="已处置" @@ -63,4 +64,19 @@ app:qmui_backgroundColor="@color/green" app:qmui_borderWidth="0dp" app:qmui_radius="@dimen/dp_5" /> + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 5d8d682..35ba053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,6 +104,8 @@ implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' //高德地图 implementation 'com.amap.api:3dmap:latest.integration' + //经纬度逆编码检索 + implementation 'com.amap.api:search:8.1.0' //日期范围选择 implementation project(path: ':cosmocalendar') //腾讯Android UI框架 diff --git a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt index 52895b8..097bfa9 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/AlarmAdapter.kt @@ -7,6 +7,11 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.recyclerview.widget.RecyclerView +import com.amap.api.services.core.LatLonPoint +import com.amap.api.services.geocoder.GeocodeResult +import com.amap.api.services.geocoder.GeocodeSearch +import com.amap.api.services.geocoder.RegeocodeQuery +import com.amap.api.services.geocoder.RegeocodeResult import com.casic.br.ktd.R import com.casic.br.ktd.extensions.toChineseType import com.casic.br.ktd.model.AlarmListModel @@ -21,8 +26,7 @@ private val TYPE_TOP_TITLE = 0 private val TYPE_ITEM_DATA = 1 private var inflater: LayoutInflater = LayoutInflater.from(ctx) - private var multipleSelected = mutableSetOf() - private var selectedItems = ArrayList() + private val geoSearch by lazy { GeocodeSearch(ctx) } //标题行,需要+1 override fun getItemCount(): Int = dataRows.size + 1 @@ -80,14 +84,40 @@ ) } + if (item.alarmLatitude.isNotEmpty() && item.alarmLongitude.isNotEmpty()) { + val queryParam = RegeocodeQuery( + LatLonPoint(item.alarmLatitude.toDouble(), item.alarmLongitude.toDouble()), + 200f, GeocodeSearch.AMAP + ) + geoSearch.getFromLocationAsyn(queryParam) + geoSearch.setOnGeocodeSearchListener(object : + GeocodeSearch.OnGeocodeSearchListener { + override fun onRegeocodeSearched(regeocodeResult: RegeocodeResult, code: Int) { + if (code == 1000) { + val address = regeocodeResult.regeocodeAddress.formatAddress + holder.setText(R.id.alarmAddressView, address) + } + } + + override fun onGeocodeSearched(geocodeResult: GeocodeResult?, i: Int) {} + }) + } + + val alarmValue = if (item.alarmType == "1") { + "${item.alarmValue}ppm" + } else { + "${item.alarmValue * 100}%" + } holder.setText(R.id.alarmCodeView, item.alarmCode) .setText(R.id.alarmTimeView, alarmTime) .setText(R.id.alarmTypeView, item.alarmType.toChineseType()) - .setText(R.id.alarmValueView, item.alarmValue.toString()) - .setText( - R.id.alarmAddressView, - "[${item.alarmLongitude},${item.alarmLatitude}]" - ).setText(R.id.alarmStateView, alarmState) + .setText(R.id.alarmValueView, alarmValue) + .setText(R.id.alarmStateView, alarmState) + .setOnClickListener(R.id.handleAlarmButton) { + itemClickedListener?.onHandleButtonClicked(item) + } + + holder.itemView.setOnClickListener { itemClickedListener?.onItemClicked(item) } } else { holder.setText(R.id.alarmCodeView, "报警编号") .setText(R.id.alarmTimeView, "报警时间") @@ -103,13 +133,15 @@ } } - private var itemCheckedListener: OnItemCheckedListener? = null + private var itemClickedListener: OnItemClickedListener? = null - interface OnItemCheckedListener { - fun onItemChecked(items: ArrayList) + interface OnItemClickedListener { + fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) + + fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) } - fun setOnItemCheckedListener(listener: OnItemCheckedListener) { - itemCheckedListener = listener + fun setOnItemCheckedListener(listener: OnItemClickedListener) { + itemClickedListener = listener } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt index aff2fc0..983719f 100644 --- a/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/casic/br/ktd/adapter/TaskAdapter.kt @@ -116,6 +116,7 @@ .setText(R.id.endTimeView, endDate) .setText(R.id.pathLengthView, km) .setText(R.id.taskStateView, taskState) + holder.itemView.setOnClickListener { itemCheckedListener?.onItemClicked(item) } //多选 val multiCheckBox: CheckBox = holder.itemView.findViewById(R.id.multiCheckBox) @@ -152,6 +153,8 @@ private var itemCheckedListener: OnItemCheckedListener? = null interface OnItemCheckedListener { + fun onItemClicked(item: TaskListModel.DataModel.RowsModel) + fun onItemChecked(items: ArrayList) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt index d51495c..ce2fa9f 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/AlarmPageFragment.kt @@ -22,7 +22,6 @@ private lateinit var alarmViewModel: AlarmViewModel private lateinit var alarmAdapter: AlarmAdapter private var dataBeans: MutableList = ArrayList() - private var selectedItems: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -77,7 +76,6 @@ bv.resetParamView.setOnClickListener { bv.selectedDateView.text = "" - bv.taskNameView.setText("") startTime = "" endTime = "" @@ -109,12 +107,7 @@ page++ } alarmViewModel.getAlarmsByPage( - startTime, - "", - "", - endTime, - bv.taskNameView.text.toString(), - page + startTime, "", "", endTime, page ) } @@ -130,9 +123,13 @@ alarmAdapter = AlarmAdapter(requireContext(), dataBeans) bv.alarmRecyclerView.adapter = alarmAdapter alarmAdapter.setOnItemCheckedListener(object : - AlarmAdapter.OnItemCheckedListener { - override fun onItemChecked(items: ArrayList) { - selectedItems = items + AlarmAdapter.OnItemClickedListener { + override fun onItemClicked(item: AlarmListModel.DataModel.RowsModel) { + "点击${item.alarmCode}".show(requireContext()) + } + + override fun onHandleButtonClicked(item: AlarmListModel.DataModel.RowsModel) { + "处理${item.alarmCode}".show(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt index f0fc193..dc46490 100644 --- a/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/br/ktd/fragment/TaskPageFragment.kt @@ -100,6 +100,10 @@ bv.taskRecyclerView.adapter = taskAdapter taskAdapter.setOnItemCheckedListener(object : TaskAdapter.OnItemCheckedListener { + override fun onItemClicked(item: TaskListModel.DataModel.RowsModel) { + "点击${item.taskCode}".show(requireContext()) + } + override fun onItemChecked(items: ArrayList) { selectedItems = items } diff --git a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt index 1fde67e..416d99e 100644 --- a/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/ktd/retrofit/RetrofitServiceManager.kt @@ -242,7 +242,6 @@ alarmStatus: String, alarmType: String, endDate: String, - taskName: String, offset: Int ): String { val param = JsonObject() @@ -250,7 +249,6 @@ param.addProperty("alarmStatus", alarmStatus) param.addProperty("alarmType", alarmType) param.addProperty("endDate", endDate) - param.addProperty("taskName", taskName) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() diff --git a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt index 42f2148..2aed5f5 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt @@ -58,16 +58,11 @@ }) fun getAlarmsByPage( - beginDate: String, - alarmStatus: String, - alarmType: String, - endDate: String, - taskName: String, - offset: Int + beginDate: String, alarmStatus: String, alarmType: String, endDate: String, offset: Int ) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getAlarmsByPage( - beginDate, alarmStatus, alarmType, endDate, taskName, offset + beginDate, alarmStatus, alarmType, endDate, offset ) val responseCode = response.separateResponseCode() if (responseCode == 200) { diff --git a/app/src/main/res/layout/fragment_alarm.xml b/app/src/main/res/layout/fragment_alarm.xml index 9fe3d19..018c7f4 100644 --- a/app/src/main/res/layout/fragment_alarm.xml +++ b/app/src/main/res/layout/fragment_alarm.xml @@ -71,27 +71,6 @@ app:cardElevation="@dimen/dp_2" app:cardUseCompatPadding="true"> - - - - - @@ -54,7 +55,7 @@ android:id="@+id/alarmStateView" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_15" + android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" android:paddingVertical="@dimen/dp_5" android:text="已处置" @@ -63,4 +64,19 @@ app:qmui_backgroundColor="@color/green" app:qmui_borderWidth="0dp" app:qmui_radius="@dimen/dp_5" /> + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm_rv_l_title.xml b/app/src/main/res/layout/item_alarm_rv_l_title.xml index cf175e0..2381e19 100644 --- a/app/src/main/res/layout/item_alarm_rv_l_title.xml +++ b/app/src/main/res/layout/item_alarm_rv_l_title.xml @@ -58,10 +58,15 @@ android:id="@+id/alarmStateView" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_15" + android:layout_marginHorizontal="@dimen/dp_15" android:layout_weight="1" android:paddingVertical="@dimen/dp_5" android:text="进行中" android:textColor="@color/black" android:textSize="@dimen/sp_16" /> + + + \ No newline at end of file