package com.example.smart.ui.project.equiplist
|
|
import android.content.Context
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import android.widget.TextView
|
import androidx.recyclerview.widget.RecyclerView.Adapter
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
import com.example.basecore.util.startAct
|
import com.example.smart.R
|
import com.example.smart.ui.project.bean.TaskDetailInfo
|
import com.example.smart.ui.project.equiplist.bean.EquipmentBean
|
import com.example.smart.ui.project.equiplist.check.CheckDeviceActivity
|
|
/**
|
* 设备清单
|
*/
|
class DeviceListAdapter(private val mContext: Context,
|
val data: ArrayList<EquipmentBean>,
|
val taskInfo:TaskDetailInfo,
|
val onDismissAction: () -> Unit = {}) :
|
Adapter<DeviceListAdapter.PageViewHolder>() {
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PageViewHolder {
|
return PageViewHolder(
|
LayoutInflater.from(mContext).inflate(R.layout.item_equipment_list_view, parent, false)
|
)
|
}
|
|
override fun getItemCount() = data.size
|
override fun onBindViewHolder(holder: PageViewHolder, position: Int) {
|
val bean = data[position]
|
|
holder.itemView.setOnClickListener {
|
val pop = EquipmentPopupWindow(mContext, bean, taskInfo, onDismissAction = {
|
onDismissAction()
|
})
|
pop.showPopupWindow()
|
}
|
holder.nameTv.text = bean.deviceType.desc
|
// 显示设备编号(info),如果没有则显示出厂编号(name)
|
holder.contentTv.text = bean.device?.info?.toString() ?: ""
|
|
holder.stateTv.text = bean.properties["工程起重机设备状态"]
|
}
|
|
fun notifyData(dataList: List<EquipmentBean>) {
|
data.clear()
|
data.addAll(dataList)
|
notifyDataSetChanged()
|
}
|
|
|
inner class PageViewHolder(itemView: View) : ViewHolder(itemView) {
|
|
val nameTv: TextView
|
val stateTv: TextView
|
val contentTv: TextView
|
|
init {
|
nameTv = itemView.findViewById(R.id.name_tv)
|
stateTv = itemView.findViewById(R.id.status_tv)
|
contentTv = itemView.findViewById(R.id.content_tv)
|
}
|
}
|
|
|
}
|