告警日志

This commit is contained in:
2026-05-29 11:50:26 +08:00
parent b2d3046560
commit 9186cd00aa
23 changed files with 874 additions and 175 deletions

View File

@@ -1,12 +1,12 @@
package com.example.defenseapplication.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.defenseapplication.bean.DeviceAlarmBean
import com.example.defenseapplication.databinding.ItemAlarmLogBinding
class AlarmLogAdapter(private val items: List<String>) : RecyclerView.Adapter<AlarmLogAdapter.ViewHolder>() {
class AlarmLogAdapter(private val items: List<DeviceAlarmBean>) : RecyclerView.Adapter<AlarmLogAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemAlarmLogBinding.inflate(
@@ -24,10 +24,9 @@ class AlarmLogAdapter(private val items: List<String>) : RecyclerView.Adapter<Al
override fun getItemCount(): Int = items.size
class ViewHolder(private val binding: ItemAlarmLogBinding) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: String) {
val parts = item.split(" - ")
binding.tvTitle.text = parts.firstOrNull()
binding.tvTime.text = parts.getOrNull(1)
fun bind(item: DeviceAlarmBean) {
binding.tvTitle.text = item.categoryName
binding.tvTime.text = item.createTime
}
}
}

View File

@@ -0,0 +1,46 @@
package com.example.defenseapplication.adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.example.defenseapplication.bean.DeviceAlarmBean
import com.example.defenseapplication.databinding.ItemAlarmLogHorizontalBinding
class AlarmLogHorizontalAdapter(
private val items: List<DeviceAlarmBean>,
private val onItemClick: (DeviceAlarmBean) -> Unit
) : RecyclerView.Adapter<AlarmLogHorizontalAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemAlarmLogHorizontalBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(items[position])
}
override fun getItemCount(): Int = items.size
inner class ViewHolder(private val binding: ItemAlarmLogHorizontalBinding) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: DeviceAlarmBean) {
binding.tvTitle.text = item.categoryName
binding.tvTime.text = item.createTime
if (!item.image.isNullOrEmpty()) {
Glide.with(binding.root.context)
.load(item.image)
.into(binding.ivAlarmImage)
}
binding.root.setOnClickListener {
onItemClick(item)
}
}
}
}