package com.xw.yunwei.ui.work.car.manage
|
|
import android.annotation.SuppressLint
|
import androidx.databinding.DataBindingUtil
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
import com.xw.common.base.OnItemClickListener
|
import com.xw.common.utils.BindUtils.getResColor
|
import com.xw.common.viewAdapter.ImageDefault
|
import com.xw.common.viewAdapter.ViewAdapter
|
import com.xw.yunwei.R
|
import com.xw.yunwei.databinding.ItemWorkManageCarBinding
|
import com.xw.yunwei.extension.colorIdToColorValue
|
import com.xw.yunwei.model.CarModel
|
|
class CarAdapter(var listener: OnItemClickListener<CarModel>) :
|
BaseQuickAdapter<CarModel, BaseViewHolder>(R.layout.item_work_manage_car) {
|
|
var selectItem: CarModel? = null
|
set(value) {
|
data.indexOf(field).takeIf { it != -1 }?.also { notifyItemChanged(it) }
|
field = value
|
data.indexOf(field).takeIf { it != -1 }?.also { notifyItemChanged(it) }
|
}
|
|
@SuppressLint("SetTextI18n")
|
override fun convert(holder: BaseViewHolder, item: CarModel) {
|
val binding: ItemWorkManageCarBinding? = DataBindingUtil.bind(holder.itemView)
|
binding?.let {
|
it.root.setOnClickListener {
|
listener.onItemClick(item)
|
}
|
if (item == selectItem) {
|
it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.gray_3))
|
} else {
|
it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.white))
|
}
|
|
ViewAdapter.loadImage(
|
binding.icon,
|
ImageDefault(item.getShowVehiclePicture(), R.mipmap.img_work_car)
|
)
|
binding.name.text = item.plateNumber
|
binding.color.text = item.vehicleColor
|
binding.batteryLife.text = "${item.mileageRange?.toInt()}km"
|
binding.batteryLife.setTextColor(
|
com.xw.common.custom.BatteryView.getBatteryColor(
|
item.currentElectricity ?: 0
|
)
|
)
|
binding.batteryView.setLevel(item.currentElectricity ?: 0)
|
binding.status.setBackgroundResource(item.getShowStatusBgResource())
|
binding.status.setTextColor(item.getShowStatusTextColor().colorIdToColorValue(it.root.context))
|
binding.status.text=item.getShowStatus()
|
}
|
}
|
|
}
|